在非活动类上存储数据

时间:2013-01-26 01:21:09

标签: android

我想确定这是不好的做法,因为我已经在某些地方实施了这个。

我有两个活动,MainActivity和SecondActivity。

如果我想将字符串“Hello”从Main传输到Second,我使用一个名为Transfer的类。在这个类中,我有一个静态字符串,我设置为“Hello”,我从SecondActivity的onResume方法访问它。

android如何管理“转移”课程?它是否与MainActivity相关并随之被破坏?还有其他我应该注意的行为吗?

2 个答案:

答案 0 :(得分:2)

鉴于String字段是静态的,我会说是整个过程而不是MainActivity。

问题是,android os可能会释放你的应用程序的资源来启动另一个进程。 可能会发生的是,您的应用程序得到了后盾,操作系统需要资源并释放内存,然后用户返回到SecondActivity。重新创建该过程,之前初始化的静态字段现在为空。

如果您需要在活动之间传递字符串,我会将它们捆绑到意图的附加内容中。

答案 1 :(得分:1)

只要应用程序在内存中,就会存在静态成员。

这种方法很好用。在两个活动之间共享数据的另一种方法是利用putExtra将数据放入第二个活动,并使用getExtras来获取数据。