1

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

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

问题是当我在模拟器上测试它时,没有任何东西被破坏。但是在“某些”手机上,经过 3 个以上的导航 arraylist 屏幕后,只会从堆中清除。不管尺寸有多小。

4

3 回答 3

0

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

使用单例设计模式,您可以:

  • 确保只创建一个类的一个实例
  • 提供对对象的全局访问点
  • 将来允许多个实例而不影响单例类的客户端
于 2011-10-21T04:27:15.693 回答
0

为您的 ArrayList使用一个singleton

于 2011-10-21T04:18:57.483 回答
-1

ArrayListstatic你的第一个一样声明,Activity然后从它不会分解的任何地方使用它。

于 2011-10-21T04:23:36.763 回答