我正在阅读有关管理活动生命周期的官方 Android 教程。请看我引用的以下几点。
(正常的应用程序行为)“当您的 Activity 因用户按下 Back 或 Activity 自行完成而被销毁时,系统对该 Activity 实例的概念将永远消失,因为该行为表明不再需要该 Activity。”
(系统诱导销毁)“如果系统由于系统限制(而不是正常的应用程序行为)而销毁 Activity,那么尽管实际的 Activity 实例已经消失,但系统会记住它的存在,因此如果用户导航回它,系统使用一组保存的数据创建一个新的活动实例,这些数据描述了活动被销毁时的状态。”
“系统用来恢复之前状态的保存数据是存储在Bundle对象中的键值对的集合。默认情况下,保存的信息是关于活动的视图层次结构,例如在小部件中输入的文本,滚动位置等。要为您的活动保存额外的状态信息,例如成员变量,您必须实现 onSaveInstanceState() 并将键值对添加到 Bundle 对象。”
请看我是否可以从上面正确总结:
该系统具有资源意识,可以破坏活动以恢复记忆。如果系统这样做了,那么它会留下一个选项,如果以后需要的话,可以将被破坏的活动恢复到之前的状态。
状态 = 视图状态(默认,自动完成)+ 成员变量状态(手动,由程序员决定)。
我的问题是,如果系统正在销毁活动以释放一些内存,那么如果它允许我们保留活动的“副本”以便活动可以准确地恢复到点,那么它是否会破坏目的和毁灭前一样?