【发布时间】:2023-03-25 01:37:02
【问题描述】:
我有一个包含某些文件列表的 Android 应用程序。
文件在这样的 ArrayList 中
public static ArrayList<File> list=new ArrayList<File>();
list.add("PATH");
list.add("PATH");
list.add("PATH");
....
上述 ArrayList 存在于应用程序类中。
主要问题是假设用户将我的应用程序最小化一段时间,直到我的应用程序正在加载文件列表并且用户开始使用其他应用程序。在我的应用程序中加载完成后,list 包含所有必要文件的列表。用户在一段时间后返回,但与此同时,当用户使用其他应用程序时,Android 系统需要释放一些内存,因此它会清除我的应用程序中的 ArrayList,因为我的应用程序在最近的列表中并且当前未被使用用户。
所以当用户返回时,他必须再次等待直到加载结束。
是否有任何解决方案,因为我不想永远保存 ArrayList,但希望它不会被 Android 系统清除。
【问题讨论】:
-
列表中有多少项?用户还需要在应用程序的不同会话中使用这些项目吗?应用程序不同启动之间的那些文件更改或它们始终相同?
-
@PierGiorgioMisley 可能有多达 1000 个左右的项目。对于 App Start,项目应保持不变,但可以在不同的 App Start 上更改。
-
将数组写入文件。在应用启动时,从该文件中读取数据。
-
@ZUNJAE 谢谢。但是保存数组并再次检索它可能需要一些我不需要的时间,因为我不想保存它们以供重复使用。
-
需要多长时间?我想知道
标签: java android memory arraylist memory-management