有人可以将我推向有关以下内容的一些具体,值得信赖(最好是简洁)的信息:
组件被系统销毁和(如果适用)重新创建的顺序(片段、活动、活动的线程/异步任务/定时器、静态数据(何时卸载类?)、其他类中的线程/异步任务/定时器、宿主 TabActivity、 ActivityGroup,绑定本地服务,应用程序,进程)当应用程序在后台和前台时。
在什么时候可以停止销毁(返回应用程序时会遇到哪些状态 - 例如“包括应用程序对象在内的所有内容都已销毁,进程处于活动状态”?是否有可能(在不修改 Android 的情况下)以编程方式自己造成相同类型的破坏,以便与系统何时执行此操作时无法区分,或者当我们自己选择释放内存(由 onLowMemory 触发)时是否需要单独的机制?
1) 中所有场景的可靠再现步骤(junit.framework 会这样做吗?我还没有调查过)?
“如果用户长时间离开一个任务,系统会清除该任务除根Activity之外的所有Activity。当用户再次返回该任务时,只恢复根Activity ”:这是除了流程/组件之外生命周期/销毁,还是与之相关?
我已经阅读了各种来源提供的信息,这些信息通常不完整且具有误导性,有时甚至是不正确的。
我承认,我浏览了文档的某些部分,所以我可能遗漏或误解了某些内容。
[编辑] 为了避免误解:我要问的是 Android 破坏组件以释放内存,绕过Activity.onDestroy。
当我将应用程序置于后台并稍后返回时,将发生以下序列之一:
- onPause、onStop、onRestart、onStart、onResume
- onPause、onStop、Application.onCreate、onCreate(notNull)、onStart、onResume
[EDIT2] 赏金开始了。需要有关以下方面的可靠信息:活动、片段、应用程序、绑定(可能是远程)服务、流程。
部分/全部破坏场景。见第 1 点。