gpt4 book ai didi

android - 具有静态方法的类在 Android 中存在多长时间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:31:45 26 4
gpt4 key购买 nike

这是我的一个后续问题 previous questions .

我有一个 LoadingActivity,它加载所有 Activity 所需的一些图形并将其存储到静态类中。我尝试在按 HOME 键时不再重新加载 LoadingActivity 并恢复应用程序,因为它会占用大量内存并在几次后用完它,因此图形已经加载,因此无需再次启动 LoadingActivity。我的问题是,静态类能活多久?我可以在恢复应用程序后依靠它的可用性吗,还是可能它在这里,因为 Android 由于内存问题将其杀死,或者只要 vm 运行它就一直在这里(这意味着只要手机正在运行)?

最佳答案

作为Simon指出,“静态类”在不同的语言中意味着不同的东西,而 Java 并没有像其他一些语言中的静态类那样的东西。但我不认为那是你在说的。您似乎在问是否可以对强静态引用引用的对象进行垃圾回收。如果是这样,答案是否定的。

类由类 Class 的对象表示,可通过其 ClassLoader 访问。因此,只要 ClassLoader 可访问,Class 引用的任何内容都将是可访问的,在系统类加载器的情况下,只要 Java/Dalvik VM 存在。但只要手机运行,就不会,因为会为每个应用程序创建一个独立的 VM。每当应用程序处于后台时,运行应用程序的整个进程和 VM 都可能被终止。当您返回应用程序时,它的类将被重新加载。

如果静态字段确实是最好的选择,而不是 ContentProvider 或前台 Service,那么每次您的应用恢复时,您都需要检查静态引用是否已经初始化,如果为空则重新初始化。

关于android - 具有静态方法的类在 Android 中存在多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25856370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com