1

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

我有两个活动,MainActivity 和 SecondActivity。

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

android如何管理“Transfer”类?它是否与 MainActivity 绑定并随之销毁?还有其他我应该注意的行为吗?

4

2 回答 2

2

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

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

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

于 2013-01-26T01:25:30.060 回答
1

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

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

于 2013-01-26T01:31:57.310 回答