我很熟悉,按下后退键会导致活动被“破坏”,或者当开发人员调用函数finish(),或者当系统需要内存等时......
并且还熟悉我们需要在 onDestroy 中执行清理过程,如unBindDrawables(参见示例)以避免 OutOfMemory 异常。
我的问题是:
活动的破坏是否意味着对活动对象的引用被删除?即活动对象可用于GC?如果是这样,为什么我们需要明确删除对活动相关视图的引用?
考虑示例:
如果对象A具有对对象B的引用,而B仅由A引用,那么如果我们取消A的引用,则无需将B的引用显式设置为 null,两者都将被 GC-ed...
我的直觉告诉我,活动的情况是这样的……请告诉我我的错误在哪里。
谢谢!