当我们使用onStart方法时,onRestart方法的用途是什么?
@Override protected void onStart() { super.onStart(); } @Override protected void onRestart() { super.onRestart(); }
ltqd579y1#
这是活动生命周期,这是onStart()和onRestart()方法及其说明
onStart()
onRestart()
更多信息here
sirbozc52#
调用onRestart()的一种情况是用户按下主页按钮并进入启动器屏幕。在这种情况下,Activity不会被销毁,而是会触发暂停/停止事件。当用户再次打开应用时,该Activity的onRestart()会在onStart()之前调用。您可以找到here示例。
w80xi6nr3#
onRestart()方法将在Activity从不可见状态返回时被调用。假设我们按下设备的home按钮并返回,则此onRestart()将被调用。有关详细信息,请查看documentation
Activity
ars1skjm4#
您可以在Android开发人员上阅读有关Activity生命周期的所有信息:http://developer.android.com/reference/android/app/Activity.html#onRestart()直接从那里:当前活动重新显示给用户时(用户已导航回该活动),在onStop()之后调用。它后面将跟onStart(),然后跟onResume()。对于使用原始Cursor对象的Activity(而不是通过managedQuery(android.net.uri,String[],String,String[],String)创建它们),这通常是应该重新请求游标的位置(因为您已经在onStop()中停用了它)。派生类必须调用超类的此方法的实现。如果不这样做,将引发异常。
mrfwxfqh5#
只有当您导航离开然后导航回活动时,才能100%确定onRestart被调用。另一方面,当您按下主页按钮并将应用程序移至后台时,我们无法知道应用程序是否被操作系统销毁以收回资源,或者它仍驻留在内存中。如果应用程序被销毁,则将调用onCreate。否则,如果应用程序仍在内存中,则将调用onRestart。
onRestart
onCreate
2g32fytz6#
根据this备注:由于Activity示例停止时系统会将其保留在系统内存中,因此您可能根本不需要实现onStop()和onRestart()(甚至不需要实现onStart())方法。对于大多数相对简单的Activity,Activity会正常停止并重新启动,您可能只需要使用onPause()暂停正在进行的操作并断开与系统资源的连接。当前活动重新显示给用户时(用户已导航回该活动),在onStop()之后调用。它后面将跟onStart(),然后跟onResume()。对于使用原始Cursor对象的Activity(而不是通过managedQuery(android.net.uri,String [],String,String [],String)创建它们),这通常是应该重新请求游标的位置(因为您已经在onStop()中停用了它)。
rqmkfv5c7#
当向用户重新显示当前活动时,在onStop()之后调用onRestart()。例如,用户已导航回该位置。
onStop()
plupiseo8#
onRestart()方法是Android Activity生命周期中的回调方法,在Activity停止后重新启动时调用。
部分使用案例:
1.如果Activity已暂停或停止,并且用户返回到该Activity,则可以使用onRestart()方法将Activity从其暂停或停止状态恢复。1.在某些情况下,onRestart()方法可用于刷新Activity中显示的数据。例如,如果Activity显示从服务器提取的项目列表,则onRestart()方法可用于在用户返回到Activity后刷新列表。1.当设备的配置发生更改(如屏幕旋转)时,将调用onRestart()方法,该方法可用于更新Activity的布局或其他资源以适应新配置。1.错误处理:如果Activity遇到错误并停止,则可以使用onRestart()方法重置Activity并处理错误。
8条答案
按热度按时间ltqd579y1#
这是活动生命周期,这是
onStart()
和onRestart()
方法及其说明更多信息here
sirbozc52#
调用
onRestart()
的一种情况是用户按下主页按钮并进入启动器屏幕。在这种情况下,Activity不会被销毁,而是会触发暂停/停止事件。当用户再次打开应用时,该Activity的onRestart()
会在onStart()
之前调用。您可以找到here示例。w80xi6nr3#
onRestart()
方法将在Activity
从不可见状态返回时被调用。假设我们按下设备的home按钮并返回,则此onRestart()
将被调用。有关详细信息,请查看documentationars1skjm4#
您可以在Android开发人员上阅读有关Activity生命周期的所有信息:http://developer.android.com/reference/android/app/Activity.html#onRestart()
直接从那里:
当前活动重新显示给用户时(用户已导航回该活动),在onStop()之后调用。它后面将跟onStart(),然后跟onResume()。
对于使用原始Cursor对象的Activity(而不是通过managedQuery(android.net.uri,String[],String,String[],String)创建它们),这通常是应该重新请求游标的位置(因为您已经在onStop()中停用了它)。
派生类必须调用超类的此方法的实现。如果不这样做,将引发异常。
mrfwxfqh5#
只有当您导航离开然后导航回活动时,才能100%确定
onRestart
被调用。另一方面,当您按下主页按钮并将应用程序移至后台时,我们无法知道应用程序是否被操作系统销毁以收回资源,或者它仍驻留在内存中。如果应用程序被销毁,则将调用
onCreate
。否则,如果应用程序仍在内存中,则将调用onRestart
。2g32fytz6#
根据this
备注:由于Activity示例停止时系统会将其保留在系统内存中,因此您可能根本不需要实现onStop()和onRestart()(甚至不需要实现onStart())方法。对于大多数相对简单的Activity,Activity会正常停止并重新启动,您可能只需要使用onPause()暂停正在进行的操作并断开与系统资源的连接。
当前活动重新显示给用户时(用户已导航回该活动),在onStop()之后调用。它后面将跟onStart(),然后跟onResume()。
对于使用原始Cursor对象的Activity(而不是通过managedQuery(android.net.uri,String [],String,String [],String)创建它们),这通常是应该重新请求游标的位置(因为您已经在onStop()中停用了它)。
rqmkfv5c7#
当向用户重新显示当前活动时,在
onStop()
之后调用onRestart()
。例如,用户已导航回该位置。
plupiseo8#
onRestart()方法是Android Activity生命周期中的回调方法,在Activity停止后重新启动时调用。
部分使用案例:
1.如果Activity已暂停或停止,并且用户返回到该Activity,则可以使用onRestart()方法将Activity从其暂停或停止状态恢复。
1.在某些情况下,onRestart()方法可用于刷新Activity中显示的数据。例如,如果Activity显示从服务器提取的项目列表,则onRestart()方法可用于在用户返回到Activity后刷新列表。
1.当设备的配置发生更改(如屏幕旋转)时,将调用onRestart()方法,该方法可用于更新Activity的布局或其他资源以适应新配置。
1.错误处理:如果Activity遇到错误并停止,则可以使用onRestart()方法重置Activity并处理错误。