Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 应用程序arraylist清除_Android_Share_Garbage - Fatal编程技术网

Android 应用程序arraylist清除

Android 应用程序arraylist清除,android,share,garbage,Android,Share,Garbage,我有一个有几个屏幕的应用程序。假设一个B C D和D也可以打开一些外部应用程序 所有这些活动彼此共享数据和arraylist,我在应用程序类中创建了对它的引用。(我创建了一个扩展应用程序并引用其清单的类。)所以所有这些都使用arraylist的单个实例。从第一个屏幕开始,A初始化arraylist,其他人可能会修改它 问题是,当我在模拟器上测试时,没有任何东西会被破坏。但在“某些”手机上,导航arraylist的3+屏幕刚刚从堆中清除。无论大小有多小。为您的ArrayList使用单例类在第一次活

我有一个有几个屏幕的应用程序。假设一个B C D和D也可以打开一些外部应用程序

所有这些活动彼此共享数据和arraylist,我在应用程序类中创建了对它的引用。(我创建了一个扩展应用程序并引用其清单的类。)所以所有这些都使用arraylist的单个实例。从第一个屏幕开始,A初始化arraylist,其他人可能会修改它


问题是,当我在模拟器上测试时,没有任何东西会被破坏。但在“某些”手机上,导航arraylist的3+屏幕刚刚从堆中清除。无论大小有多小。

为您的ArrayList使用
单例

在第一次
活动中声明
ArrayList
静态
,然后从任何位置使用它,它都不会中断。

使用单例设计模式或使您的对象静态

使用Singleton设计模式,您可以:

  • 确保只创建一个类的实例
  • 提供对象的全局访问点
  • 将来允许多个实例,而不影响单例类的客户端

为什么有人能解释为什么否决投票?静态不适用于这些场景,对吗?我没有投你反对票,但这可能是原因。@Shardul谢谢,我知道当我们使用静态时,但我也认为它是android编程的好方法。正如我所说,有4个活动和一个应用程序类,我不能共享代码,因为有数千行代码