আমি ওপেনগল এসটি অধ্যয়ন করছি এবং আমি দেখেছি যে উদাহরণটি স্পর্শ এবং কীবোর্ডের ইভেন্টগুলির উপর নজর রাখতে "পুল" শ্রেণিটি ব্যবহার করা হয়েছিল।
কেউ দয়া করে ব্যাখ্যা করতে পারেন যে কীভাবে এবং কেন একটি পুল শ্রেণীর প্রয়োজন। আমি যা পড়ছিলাম তা থেকে এটি আবর্জনা সংগ্রহ এবং তৈরি হওয়া ইনপুট শ্রেণীর সংখ্যা সীমিত করার সাথে কিছু করার ছিল।
এগুলি আমার কাছে কিছুটা বিমূর্ত বলে মনে হচ্ছে, তাই যদি কেউ দয়া করে যা চলছে তা ব্যাখ্যা করতে পারে, আমি এটির প্রশংসা করব, আমি এখানে কিছু কোড পেস্ট করেছি:
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);
ধন্যবাদ!