1

虽然从 API 的角度(方法)可以看到关于 Application、Activity 等生命周期的无数资源,但从 Java 的角度来看,onCreate/Destroy/Whatnot()几乎没有关于这些组件的实际对象生命周期的任何信息。例如,我看到(在 YouTube marakana 视频上)服务基本上是单例的——这让我想知道 IntentService 的状态——它可以共享吗?或者这也是一个单身人士?

我猜最初创建了一个进程(由 Zygote ?)以及一个 DalvikVM 实例,然后加载清单中声明的​​所有组件的(?),然后根据需要进行实例化——但这些都是猜测。我根本无法回答以下问题:

  • 每次接收到广播时,BroadcastReceivers 是否只实例化一次或一次?
  • 应用程序是单例吗?保证?
  • MyApplication.class所有其他组件之前加载?总是实例化?即使只有我的清单注册 BR 运行?
  • 我的一个特定Application.class的(可能是)什么时候被卸载(所以我应该检查它的静态字段是否需要初始化(如果调用者初始化它们))

你看我在黑暗中。我想对基本 android 应用程序组件的类加载、实例化和垃圾收集进行一些分析 - 链接到文档和/或欢迎源代码。越技术越好。

参考:@inazaruk 的这篇文章
静态引用也被清除——如果未使用,Android 是否会在运行时卸载类?

4

0 回答 0