请问是否有关于以下问题的具体、可信赖(最好简洁)的信息:
系统销毁组件的顺序和(如果适用)重新创建顺序 (Fragment、Activity、Activity 的线程/AsyncTasks/Timers、静态数据(类何时卸载?)、其他类中的线程/AsyncTasks/Timers、主机 TabActivity、ActivityGroup、绑定的本地服务、Application、进程) 无论应用程序处于后台还是前台。
哪些状态可以遇到以停止销毁(例如在返回应用程序时可以遇到的状态,如“包括 Application 对象在内的所有内容都被销毁,但进程仍然存在”)?是否可以在不修改 Android 的情况下以编程方式自行引起相同类型的销毁, 使其与系统所做的销毁不可区分,或者我们自己选择释放内存时需要单独的机制(由 onLowMemory 触发)?
1)所有场景的可靠复现步骤(junit.framework 是否可用?我还没有调查过)?
“如果用户长时间离开任务,系统会清除该任务中除根活动外的所有活动。当用户再次返回任务时,只会还原根活动”:这是与进程/组件生命周期/销毁无关,还是与之相关?
我已经阅读了各种来源给出的信息碎片,通常不完整和误导,有时错误。
我承认,我略读了文档的某些部分,可能错过或误解了一些内容。
[编辑] 为避免误解:我所问的是 Android 销毁组件以释放内存,绕过 Activity.onDestroy。
当我将应用程序置于后台并稍后返回时,将发生以下序列之一:
- onPause、onStop、onRestart、onStart、onResume
- onPause、onStop、Application.onCreate、onCreate(非空)、onStart、onResume
[编辑2]
开启悬赏。需要关于 Activities、Fragments、Application、绑定的(潜在的远程)Services、进程的可靠信息。
部分/全部销毁场景。请参见第一个问题。