我有一个有几个屏幕的应用程序。让我们说A B C D和D也可以打开一些外部应用程序。
所有这些活动共享数据,相互之间的arraylist,我在Application类中创建了对它的引用。 (我已经创建了一个扩展Application的类并将其引用到manifest中。)所以这些都使用了arraylist的单个实例。 A从第一个屏幕开始初始化arraylist,其他人可能会修改它。
问题是当我在模拟器上测试时没有任何东西被破坏。但是在3个以上导航屏幕后的'部分'手机上,只需从堆中清除。无论尺寸多小。
答案 0 :(得分:0)
为ArrayList
使用singleton
类
答案 1 :(得分:0)
使用单件设计模式或使对象静态
使用Singleton设计模式,您可以:
答案 2 :(得分:-1)
在您的第一个ArrayList
中将static
声明为Activity
,然后在任何不会崩溃的地方使用它。