Android 的基本组件的类加载和_java对象_生命周期

2023-12-02

虽然从 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(使用前将#替换为@)

Android 的基本组件的类加载和_java对象_生命周期 的相关文章

随机推荐