SimplePool与SynchronizedPool

简介:对象池,适用于频繁创建和回收对象场景,通过复用对象池的对象实现。

(一)内部通过数组存储。

(二)acquire()从后向前取值,如果有值则将该数组位值赋null并返回该值,否则继续向前直到数组头仍无值则返回null

(三)通过release(T obj)方法将对象放到数组里,如果数组已存在该对象则抛异常,不存在且数组没有满则添加

(四)SyschronizedPool是SimplePool的子类,通过对acquire()和release()方法加锁实现。

Test test = mPool.acquire();
if (test == null){
   test = new Test();
}
//使用完后将对象放到池中以备后用
mPool.release(test);

你可能感兴趣的:(Android,对象池)