如果我有一个方法被调用onStop
并且它调用super.onStop();
. 这个方法什么时候运行?
在我的主要活动中,我开始另一个活动,如下所示startActivity(new Intent(this, MyNewActivity.class));
:这会自动停止我的主要活动并打电话onStop
吗?
onStop
另外,我应该在我的主要活动方法中做什么样的事情。到目前为止,我所做的只是取消注册听众以释放空间,但除此之外我还应该做些什么吗?
谢谢,非常感谢您的帮助。
如果我有一个方法被调用onStop
并且它调用super.onStop();
. 这个方法什么时候运行?
在我的主要活动中,我开始另一个活动,如下所示startActivity(new Intent(this, MyNewActivity.class));
:这会自动停止我的主要活动并打电话onStop
吗?
onStop
另外,我应该在我的主要活动方法中做什么样的事情。到目前为止,我所做的只是取消注册听众以释放空间,但除此之外我还应该做些什么吗?
谢谢,非常感谢您的帮助。
When does this method run?
当您的 Activity 不再对用户可见时调用此方法
Does this automatically stop my main activity and call onStop
是的,当您启动另一个活动时,首先调用 onPause() 函数,然后调用 onStop()。
what kind of things should I do in the onStop method of my main activity
这取决于您的实现和您的需求,但建议在 onPause() 回调函数上实现持久数据
在我的主要活动中,我按如下方式开始另一个活动: startActivity(new Intent(this, MyNewActivity.class)); 这会自动停止我的主要活动并调用 onStop 吗?
您可以自己了解当您调用新活动时会发生什么,只需放置一个简单的日志语句并检查自己。
http://developer.android.com/guide/components/tasks-and-back-stack.html
从文档中引用
当当前活动开始另一个活动时,新活动被推到堆栈顶部并获得焦点。
前一个活动保留在堆栈中,但已停止。当活动停止时,系统会保留其用户界面的当前状态。当用户按下 Back 按钮时,当前 Activity 从栈顶弹出(该 Activity 被销毁)并恢复前一个 Activity(其 UI 的先前状态被恢复)。
onStop()
当活动不再对用户可见时调用,因为另一个活动已恢复并正在覆盖该活动。这可能是因为正在启动一项新活动,正在将现有活动带到这个活动之前,或者这个活动正在被破坏。如果此活动返回与用户交互,则为 onRestart(),如果此活动即将消失,则为 onDestroy()。
检查主题保存活动状态
http://developer.android.com/guide/components/tasks-and-back-stack.html#ActivityState
注意:当系统停止您的一个活动时(例如当一个新活动开始或任务移至后台时),如果系统需要恢复系统内存,它可能会完全销毁该活动。发生这种情况时,有关活动状态的信息将丢失。我相信这是优先发生的。
如果您需要存储持久数据,请在onPause
有关更多信息,请检查活动生命周期
http://developer.android.com/reference/android/app/Activity.html