【发布时间】:2013-11-18 10:25:32
【问题描述】:
(标题具有误导性,因为垃圾收集器只收集对象,但我发现这个标题更直接)
假设我有一个 Android 应用程序,其中一个名为“userid”的静态变量位于一个名为 Global 的类中(在初始化时为 null)。
如果我在 Android 应用程序生命周期中将“userid”变量设置为某个值,例如 Global.userid = “myid”,那么当 Android 应用程序仍然存在时,该变量是否可能变为 null?
换句话说,由于内存不足的问题,Android VM 是否可以卸载 Global 类并“杀死”这个全局静态变量而不杀死整个 Android 应用程序?
我担心在应用程序运行时用户 ID 突然变为空的情况(由于内存不足的问题),从而导致整个应用程序崩溃。
编辑 我误解了一些概念(在应用程序流程与活动之间)。谢谢大家的回答!
【问题讨论】:
-
我认为静态存储在 Andriod 中是不鼓励的。我找不到那个链接。
-
您认为为什么会发生这种情况?你有任何迹象表明它确实如此吗?
-
绝对不是。您的整个应用程序将不得不被杀死。但是,如果您出于某种原因转到另一个应用程序,您的应用程序可能会在您没有引起注意的情况下重新启动。
标签: java android static garbage-collection dalvik