为什么需要在TypedArray后调用recycle

 我来答
南京新华电脑专修学院
2017-07-25 · 新华电脑教育用心为户提供专业
南京新华电脑专修学院
新华电脑教育用心为户提供专业的电脑相关专业疑问解答
向TA提问
展开全部
在TypedArray后调用recycle主要是为了缓存。当recycle被调用后,这就说明这个对象从现在可以被重用了。TypedArray 内部持有部分数组,它们缓存在Resources类中的静态字段中,这样就不用每次使用前都需要分配内存。你可以看看TypedArray.recycle()中的代码:

1 /**
2 * Give back a previously retrieved StyledAttributes, for later re-use.
3 */
4 public void recycle() {
5 synchronized (mResources.mTmpValue) {
6 TypedArray cached = mResources.mCachedStyledAttributes;
7 if (cached == null || cached.mData.length < mData.length) {
8 mXml = null;
9 mResources.mCachedStyledAttributes = this;
10 }
11 }
12 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式