【发布时间】:2014-09-15 20:28:19
【问题描述】:
这是对我的previous questions 之一的后续问题。
我有一个 LoadingActivity,它加载所有活动所需的一些图形并将其存储到一个静态类中。当按下 HOME 并恢复应用程序时,我尝试不再重新加载 LoadingActivity,因为它会占用大量内存,并且在多次加载图形后耗尽内存,因此无需再次启动 LoadingActivity。 我的问题是,静态类能活多久?我可以在恢复应用程序后依赖它的可用性吗,或者 可能 它在这里,因为 Android 由于内存问题而杀死它,或者只要 vm 运行它就一直在这里(这意味着只要手机正在运行)?
【问题讨论】:
-
我相信只要您的申请流程还活着,它们就会一直存在。但在设备内存受限的应用程序开发中,将对象引用保持为静态并不是一个好主意。
-
静态类与应用程序本身的生命周期相关联,这是 Android 的心血来潮 AFAIK。永远不要依赖静态类。期间。
-
“静态类”是指对“静态对象”的引用吗?您可能想澄清一下...听起来您在询问使用
static class声明的类。 -
@Machinarius 有趣! Java 不支持静态类。 Bevor,这个问题没有任何意义。请说清楚。事实上,投票结束。
-
@Simon 我写的评论来自他们确实存在的大部分 C# 背景(最近在 Xamarin 上做了很多工作)。感谢您发现错误。 - OP:我的意思是类中的静态字段。
标签: android memory static-members dalvik