【问题标题】:Does activity destroy when go to next activity?进行下一个活动时活动会破坏吗?
【发布时间】:2012-11-07 10:33:53
【问题描述】:

我有2个活动A和B。当从A到B时,A会破坏吗? 如果是,是否所有变量(静态或非静态)都清除了?

或者如果不销毁?活动是否会进入某个堆栈?

【问题讨论】:

  • @omi0301 变量有它们的值?还是只是静态变量?
  • 请看下面西蒙的回答...

标签: android android-lifecycle


【解决方案1】:

它没有被销毁,它将被移动到堆栈中..检查http://developer.android.com/training/basics/activity-lifecycle/index.html


正如西蒙在下面所说的
当您的活动进入堆栈时,变量不会被破坏。但是,一旦某个活动不是活动活动,Android 可能会在不进一步回调您的代码的情况下销毁它。这就是 onPause() 和 onResume() 的用途。您应该保存和恢复在这些方法中维持活动状态所需的任何内容。

对于静态变量(如果进程被终止,那么所有静态变量都将重新初始化为其默认值)。检查Public static variables and Android activity life cycle management

【讨论】:

  • @Dr.jacky 为了完整起见,当您的活动进入堆栈时,变量不会被破坏。但是,一旦某个活动不是活动活动,Android 可能会在不进一步回调您的代码的情况下销毁它。这就是 onPause() 和 onResume() 的用途。您应该保存和恢复在这些方法中维持活动状态所需的任何内容。
  • @Simon 1-如何保存一些东西来保持状态?有偏好?2-关于静态变量,发生了什么?
  • 是的,您可以使用共享首选项来保存变量,用于静态变量(如果进程被终止,则所有静态变量都将重新初始化为其默认值)。
猜你喜欢
  • 2015-09-29
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多