Android基本组件的类加载& java对象生命周期

时间:2013-10-14 17:29:14

标签: java android classloader instantiation dalvik

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

我想最初创建了一个进程(由Zygote创建?),以及一个DalvikVM实例,然后将清单中声明的​​所有组件的加载(?),然后实例化为需要 - 但这些都是猜测。我完全不能回答这样的问题:

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

你看我在这里黑了。我想对基本的android应用程序组件的类加载,实例化和垃圾收集进行一些分析 - 链接到docs和/或source welcome。技术越多越好。

参考:@inazaruk的这个post 另外Static references are cleared--does Android unload classes at runtime if unused?

0 个答案:

没有答案