为什么我们有意将数据从一个活动发送到另一个活动?我们不能改用静态变量并使用 ClassName.TheVariable 从其他活动访问吗?
问问题
68 次
3 回答
3
当数据封装在一个实例中时,这是一种很好的 OOP 模式。您可以阅读为什么静态变量被认为是邪恶的?.
并查看另一个好的 android 模式Content Providers或Using Shared Preferences。
如果您将使用这种常见模式中的一些,其他开发人员将来会说“谢谢”。
于 2013-06-08T10:43:52.433 回答
1
如果 Android 为您的应用程序终止并重新启动进程,则静态变量将被分配为其默认值。如果您希望值保持不变,则最好使用 SharedPreferences 或 intent 而不是静态变量。
不推荐使用静态变量。静态变量存储在堆的 PermGen 部分中。即使类完成了它的工作,静态变量也会留在堆中。垃圾收集器会做标记和清扫。如果您在第二个活动中引用的第一个活动中有一个静态变量,则该引用将保持很长时间。
如果您使用更多静态变量,您可能会出现内存泄漏。也减少使用不必要的物品。
于 2013-06-08T10:41:31.013 回答
0
是的,您可以拥有您建议的静态数据。请注意,在应用程序中拥有静态数据的一种好方法是拥有一个应用程序对象,请参阅有关应用程序对象的 Android 文档。
于 2013-06-08T10:41:35.327 回答