मैं opengl es का अध्ययन कर रहा हूं और मैंने देखा कि एक स्पर्श और कीबोर्ड घटनाओं पर नज़र रखने के लिए "पूल" वर्ग का उपयोग कर रहा था।
क्या कोई यह बता सकता है कि पूल क्लास की आवश्यकता कैसे और क्यों है। जो कुछ मैं पढ़ रहा था, उसमें कचरा संग्रह करने और इनपुट कक्षाओं की संख्या को सीमित करने के लिए कुछ था।
यह सब मुझे थोड़ा सार लगता है, इसलिए अगर कोई यह समझा सकता है कि क्या चल रहा है, तो मैं इसकी सराहना करूँगा, मैंने कुछ कोड यहाँ चिपकाए हैं:
public Pool(PoolObjectFactory < T > factory, int maxSize) {
this.factory = factory;
this.maxSize = maxSize;
this.freeObjects = new ArrayList < T > (maxSize);
}
public T newObject() {
T object = null ;
if (freeObjects.isEmpty())
object = factory.createObject();
else
object = freeObjects.remove(freeObjects.size() - 1);
return object;
}
public void free(T object) {
if (freeObjects.size() < maxSize)
freeObjects.add(object);
}
PoolObjectFactory <TouchEvent> factory = new PoolObjectFactory <TouchEvent> () {
@Override
public TouchEvent createObject() {
return new TouchEvent();
}
Pool <TouchEvent> touchEventPool = new Pool <TouchEvent> (factory, 50);
TouchEvent touchEvent = touchEventPool.newObject();
. . . do something here . . .
touchEventPool.free(touchEvent);
धन्यवाद!