Android 布局异步加载中的pools对象缓存池源码分析

obj.inflater = null;

obj.parent = null;

obj.resid = 0;

obj.view = null;

mRequestPool.release(obj);

}

使用方法,如下:

public class MyPooledClass {

private static final SynchronizedPool sPool =

new SynchronizedPool(10);

public static MyPooledClass obtain() {

MyPooledClass instance = sPool.acquire();

return (instance != null) ? instance : new MyPooledClass();

}

public void recycle() {

// Clear state if needed.

sPool.release(this);

}

}

[](()Pool接口的定义

来让我们看看这个Pool的接口,接口很简单,就2个方法。 acquire()主要是从缓存池中获取一个对象,这里可能为空。为空的情况:

[](()1,对象缓存池中没有缓存对象,这种情况是对象池中没有放进任何对象。
[](()2,对象池中对象被用完了。

release() 主要是释放一个对象到对象缓存池中,如果 《Android学习笔记总结+最新移动架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值