虽然从API角度(onCreate/Destroy/Whatnot()
方法)看到有关应用程序,活动等生命周期的无数资源,但从Java角度来看,几乎没有关于这些组件的实际对象生命周期的任何信息。因此,我看到(在YouTube marakana视频上)服务基本上是单身 - 这让我想知道IntentService的状态 - 可以共享吗?或者这也是一个单身人士?
我想最初创建了一个进程(由Zygote创建?),以及一个DalvikVM实例,然后将清单中声明的所有组件的类加载(?),然后实例化为需要 - 但这些都是猜测。我完全不能回答这样的问题:
MyApplication.class
?总是实例化?即使只有我的一个明显的注册BR运行?Application.class
(可能)被卸载(所以我应该检查它的静态字段是否需要初始化(在调用者初始化它们的情况下))你看我在这里黑了。我想对基本的android应用程序组件的类加载,实例化和垃圾收集进行一些分析 - 链接到docs和/或source welcome。技术越多越好。
参考:@inazaruk的这个post 另外Static references are cleared--does Android unload classes at runtime if unused?