[英]Android - Is this a memory leak? (Reference an object created in an Activity in another Activity as a static variable)
[英]static list in Android Activity and memory leak
我有一个ArrayList
在Activity
有1000多个字符串项。 ArrayList
的成员数不变,并且没有元素更新发生。 在application
生命周期中,可以多次创建和销毁该活动,但也可能是几次。 同样, ArrayList
将用于构造ListView
。 现在,我有两种关于ArrayList
:
Activity
onCreate()
中创建对象并初始化ArrayList
Activity
onCreate()
中创建和初始化ArrayList
以避免内存泄漏 我不知道哪种方法更好,或者还有其他方法吗?
如果您不需要一次显示所有1000个元素,则可以尝试使用SQLite数据库和Cursor,这将部分加载当前所需的字符串。
您可以使用singleton
方法来避免内存泄漏。下面的链接帮助您制作singleton
对象。
不幸的是,我无法诚实地告诉您,是否有更好的方法来解决您的问题,因为您没有解释上述Arraylist的用途。 尝试向我们解释有关Arraylist的更多信息,我们将看到。 如果我考虑您描述的两种方式,请注意以下几点:
最后,我建议您将Arraylist移到Activity之外,这样就只能创建一个。 如果每个活动中的字符串都不相同,那么您仍然可以根据需要在整个应用程序中创建尽可能多的集合突变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.