【发布时间】:2022-01-20 22:54:54
【问题描述】:
我试图了解,如果扩展 Activity 的类具有属性,并且在使用应用程序时正在设置这些属性(值不同于 null),如果 Activity 正在被销毁(假设用户按下后退按钮并离开应用程序),GC 是否正在收集 Activity 对象?为这些属性设置的值是否仍然具有 onDestroy()
之前的值【问题讨论】:
-
这是一个生命周期回调,你基本上被告知这个活动实例被销毁并且将不再作为你的应用程序组件(它是否被GC拾取是你无法控制的并且无关紧要)。如果用户重新启动您的应用程序,将创建另一个实例,并且它确实会将所有字段设置为默认值(或您所说的 null) - 这对新手来说有点令人困惑,但要从被破坏的实例中转移数据,您必须使用类似 @987654321 的东西@、
ViewModels、首选项或数据库,具体取决于您的用例。
标签: java android android-activity garbage-collection ondestroy