Ziz*_*zou 71 android onresume android-lifecycle
任何人都可以给我一个onResume()在Android 中使用的例子吗?
另外,如果我想在另一个执行结束时重新启动活动,执行哪个方法 - onCreate()或者onResume()?
如果我想更新数据,我该如何处理它 onResume()?
Mr.*_*ndy 116
任何重新启动的Activity都首先执行onResume()方法.
要使用此方法,请执行以下操作:
@Override
public void onResume(){
super.onResume();
// put your code here...
}
Run Code Online (Sandbox Code Playgroud)
Vis*_*nan 61
重新启动应用程序将调用OnCreate().
在应用程序暂停时继续运行会调用OnResume().从https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle上的官方文档,这里是活动生命周期的图表.
noo*_*oob 27
理解的最佳方法是在您的活动中覆盖所有LifeCycle方法并放置断点(如果检入模拟器)或登录每个方法.你会知道哪一个被调用.
就像一个扰流板一样,onCreate()首先被调用,然后如果您通过进入主屏幕或通过启动另一个活动来暂停活动,则会onPause()被调用.如果操作系统在此期间破坏活动,则会onDestroy()被调用.如果您恢复应用程序且应用程序已被销毁,onCreate()将被调用,否则onResume()将被调用.
编辑:我忘记了onStop(),它之前被调用onDestroy().
做我提到的练习,你会有更好的理解.
Amb*_*mar 14
当您打开应用程序时,它将经历以下状态:\nonCreate() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()
\n当您按后退按钮并退出应用程序时
\nonPaused() \xe2\x80\x94 > onStop() \xe2\x80\x93> onDestory()
\n当你按下主页按钮时
\nonPaused() \xe2\x80\x93> onStop()
\n按主页按钮后,再次从最近的任务列表中打开应用程序时
\nonRestart() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()
\n关闭对话框或对话框中的后退按钮后
\nonResume()
\n如果电话响了并且用户正在使用该应用程序
\nonPause() \xe2\x80\x93> onResume()
\n通话结束后
\nonResume()
\n当您的手机屏幕关闭时
\nonPaused() \xe2\x80\x93> onStop()
\n当您的手机屏幕重新打开时
\nonRestart() \xe2\x80\x93> onStart() \xe2\x80\x93> onResume()
\n快乐编码...@Ambilpura
\n以前的大部分答案都很好地解释了如何,为什么以及何时使用,onResume()但我想补充一些关于重新创建你的内容Activity.
我想知道我是否想在其他方法的执行结束时重新启动活动onCreate()或onResume()执行什么方法
答案是onCreate()然而,在决定实际重新创建它时,您应该问自己Activity需要重新创建多少需求.如果它是适配器中的数据,比如列表,那么您可以调用notifyDataChanged()它adapter来重新填充,adapter而不必重绘所有内容.
此外,如果您只需要更新某些views但不是全部,那么调用需要更新invalidate()的view(s)可能更有效.这只会重绘那些views并可能允许您的应用程序更顺畅地运行.我希望这可以帮到你.
onResume()是在整个活动生命周期中调用的方法之一。onResume()是在onPause()任何时候将活动从视图中隐藏时调用的对应物,例如,如果您启动一个隐藏它的新活动。onResume()当隐藏的活动返回到屏幕上查看时调用。
您的问题是关于使用什么方法重新启动活动。onCreate()在首次创建活动时调用。在实践中,大多数活动通过一系列onPause()和onResume()调用在后台持续存在。一个活动只有onRestart()在它首先通过调用完全停止onStop()然后恢复生机时才能真正“重新启动” 。因此,如果您实际上并未停止使用onStop()它的活动,那么您最有可能使用onResume().
阅读上述链接中的 android 文档,以更好地了解不同生活方式之间的关系。无论您最终使用哪种生命周期方法,通用格式都是相同的。您必须覆盖标准方法并在注释部分包含您的代码,即您希望活动在此时执行的操作。
@Override
public void onResume(){
//will be executed onResume
}
Run Code Online (Sandbox Code Playgroud)
科特林
任何重新启动的 Activity 都会首先执行其 onResume() 方法。
要使用此方法,请执行以下操作:
override fun onResume() {
super.onResume()
// your code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
189222 次 |
| 最近记录: |