虽然从 API 角度来看,关于应用程序、活动等生命周期的资源有无数(onCreate/Destroy/Whatnot()
方法)几乎没有任何关于这些组件的实际对象生命周期的信息从Java的角度来看。例如,我(在 YouTube marakana 视频上)看到服务基本上都是单例 - 这让我想知道 IntentService 的状态 - 它可以共享吗?或者这也是一个单身人士?
我猜最初会创建一个进程(由 Zygote?),以及一个 DalvikVM 实例,然后classes对于清单中声明的所有组件都会加载(?),然后根据需要进行实例化 - 但这些都是猜测。我根本无法回答这样的问题:
- BroadcastReceivers 是仅实例化一次还是每次接收广播时实例化一次?
- 应用程序是单例吗?有保证吗?
- is
MyApplication.class
在所有其他组件之前加载?总是实例化?即使只有我的清单注册 BR 运行?
- 什么时候是一个特定的
Application.class
我的(可能)已卸载(所以我应该检查其静态字段是否需要初始化(在调用者初始化它们的情况下))
你看我在这里处于黑暗之中。我想要对基本 Android 应用程序组件的类加载、实例化和垃圾收集进行一些分析 - 欢迎链接到文档和/或源代码。越技术越好。
参考资料:这个post作者:@inazaruk。
Also 静态引用被清除——Android 是否会在运行时卸载未使用的类?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)