i.putExtra(“abc”)的意义

时间:2013-06-08 10:37:08

标签: android android-intent

为什么我们有意向地将数据从一个活动发送到另一个活动?我们不能使用静态变量而是使用ClassName从其他活动访问。变量?

3 个答案:

答案 0 :(得分:3)

当数据封装在一个实例中时,这是一种很好的OOP模式。你可以阅读Why are static variables considered evil?

还要看另一个好的Android模式Content ProvidersUsing Shared Preferences

如果您将使用其中一些普通模式,其他开发人员将来会说“谢谢”。

答案 1 :(得分:1)

如果Android杀死并重新启动应用程序的进程,则静态变量将被分配为其默认值。如果希望值保持不变,最好使用SharedPreferences或intent而不是静态变量。

建议不要使用静态变量。静态变量存储在堆的PermGen部分中。即使类完成它,静态变量也会保留在堆中。垃圾收集器会进行标记和扫描。如果第2个活动中引用的第1个活动中有静态变量,则引用将保持较长时间。

如果使用更多静态变量,可能会出现内存泄漏。还减少了不必要的物品的使用。

答案 2 :(得分:0)

是的,您可以拥有您建议的静态数据。请注意,在应用程序中使用静态数据的一种好方法是使用应用程序对象,请参阅Android documentaion about application object