gpt4 book ai didi

android - TypedArray 中 recycle() 方法的用途是什么

转载 作者:IT王子 更新时间:2023-10-29 00:09:32 24 4
gpt4 key购买 nike

我创建了一个 GalleryViewImageView当在图库中单击项目时,它会显示更大的图像。我使用下面的代码来实现 ImageAdapter :

public ImageAdapter(Context c)
{
context = c;
TypedArray a = obtainStyledAttributes(R.styleable.gallery1);
itemBackground = a.getResourceId(R.styleable.gallery1_android_galleryItemBackground, 0);
a.recycle();
}

当我删除声明 a.recycle()没有任何变化,应用程序像以前一样正常运行,但是在我读到的任何地方都必须回收 typedArray .当我的应用程序运行方式没有变化时,recycle() 的用途是什么?方法?

最佳答案

这点类似于在 C 语言中清除指针的想法(如果您熟悉的话)。它用于使与 a 关联的数据准备好进行垃圾回收,因此内存/数据在不需要时不会低效地绑定(bind)到 a。阅读更多 here .

请务必注意,除非您实际上是在重用“a”,否则这并不是真正必要的。如果对象不再使用,GC 应该会自动为您清除这些数据。然而,TypedArray 之所以不同,是因为 TypedArray 有其他必须返回的内部数据(称为 StyledAttributes)到TypedArray 供以后重用。阅读 here .

关于android - TypedArray 中 recycle() 方法的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com