什么时候在Android中调用onRestart方法?

虽然我们有onStart方法,但onRestart方法的目的是什么?

@Override protected void onStart() { super.onStart(); } @Override protected void onRestart() { super.onRestart(); } 

这是活动生命周期,你的onStart()onRestart()方法有解释

在此处输入图像描述

更多信息在这里

只要活动从不可见状态返回,就会调用onRestart。 请通过以下链接了解更多详情

http://developer.android.com/training/basics/activity-lifecycle/index.html

您可以在Android开发人员上阅读有关Activity的生命周期的所有内容: http : //developer.android.com/reference/android/app/Activity.html#onRestart()

直接从那里采取:

当当前活动被重新显示给用户(用户已导航回到它)时,在onStop()之后调用。 接下来是onStart()然后是onResume()。

对于使用原始Cursor对象的活动(而不是通过managedQuery(android.net.Uri,String [],String,String [],String)创建它们,这通常是应该重新获取光标的地方(因为你有在onStop()中将其停用。

派生类必须调用超类的此方法的实现。 如果他们不这样做,将抛出exception。

根据这个

注意:由于系统在停止时系统内存中保留了Activity实例,因此您可能根本不需要实现onStop()和onRestart()(甚至onStart()方法。对于大多数活动而言相对简单,活动将停止并重新启动就好了,您可能只需要使用onPause()来暂停正在进行的操作并断开与系统资源的连接。

当当前活动被重新显示给用户(用户已导航回到它)时,在onStop()之后调用。 接下来是onStart()然后是onResume()。

对于使用原始Cursor对象的活动(而不是通过managedQuery(android.net.Uri,String [],String,String [],String)创建它们,这通常是应该重新获取光标的地方(因为你有在onStop()中将其停用。

调用onRestart()一种情况是当用户按下主页按钮并进入启动器屏幕时。 在这种情况下,不会销毁活动并触发暂停/停止事件。 当用户再次打开您的应用时, onCreate()之前会调用该活动的onRestart() onCreate() 。 你可以在这里find例子。