【发布时间】:2012-11-07 10:33:53
【问题描述】:
我有2个活动A和B。当从A到B时,A会破坏吗? 如果是,是否所有变量(静态或非静态)都清除了?
或者如果不销毁?活动是否会进入某个堆栈?
【问题讨论】:
-
@omi0301 变量有它们的值?还是只是静态变量?
-
请看下面西蒙的回答...
我有2个活动A和B。当从A到B时,A会破坏吗? 如果是,是否所有变量(静态或非静态)都清除了?
或者如果不销毁?活动是否会进入某个堆栈?
【问题讨论】:
它没有被销毁,它将被移动到堆栈中..检查http://developer.android.com/training/basics/activity-lifecycle/index.html
正如西蒙在下面所说的:
当您的活动进入堆栈时,变量不会被破坏。但是,一旦某个活动不是活动活动,Android 可能会在不进一步回调您的代码的情况下销毁它。这就是 onPause() 和 onResume() 的用途。您应该保存和恢复在这些方法中维持活动状态所需的任何内容。
对于静态变量(如果进程被终止,那么所有静态变量都将重新初始化为其默认值)。检查Public static variables and Android activity life cycle management
【讨论】: