Android四大组件之Activity的生命周期
2016-10-27 15:53
393 查看
我们可以知道Activity从创建到销毁,调用会6个方法,onCreate(),onStart(),onResume(),onPause(),onStop(),onDestory(),那么这几个方法是在什么时候调用的呢?
我们可以通过代码来试验一下:
进入界面时,首先调用onCreate()-->onStart()-->onResume()
退出界面时,会先调用onPause()-->onStop()-->onDestory()
界面失去焦点时,调用onPause()-->onStop()
界面重新获得焦点时,调用onRestart()-->onStart()-->onResume()
横竖屏切换时,调用onDestory()-->onCreate()-->onStart()-->onResume()
我们可以看一下官方提供的Activity的生命周期的图:
实际上,Activity的生命生命周期分为几种:整个生命周期、可见生命周期、前台生命周期。
整个生命周期:你的Activity应该在onCreate()方法里执行设置“全局”状态(如定义布局)。并在onDestroy()方法里释放所有剩余资源
onCreate()-->onStart()-->onResume()-->运行在最前端-->onPause()-->onStop()-->onDestory()
可见生命周期:在这两个方法,你可以保持该Activity需要展示给用户的资源。
onPause()-->onStop()-->onRestart()-->onStart()-->onResume()
前台生命周期:一个Activity可以经常在前台状态发生转换—比如,当设备休眠或者弹出了个对话框。因为经常会发生转换,所以在这两个方法之间的代码应该是轻量级的,防止导致其他转换变慢使得用户需要等待。
onPause()-->onResume();
我们可以通过代码来试验一下:
</pre><pre name="code" class="java">public class MyActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // 当应用被创建时调用 Log.v("life", "onCreate 当应用被创建时调用 "); super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); } @Override protected void onDestroy() { Log.v("life", "onDestroy 当应用被销毁时调用"); super.onDestroy(); } @Override protected void onStart() { Log.v("life", "onStart 界面可见时被调用"); super.onStart(); } @Override protected void onStop() { Log.v("life", "onStop 界面不可见的时候被调用"); super.onStop(); } @Override protected void onResume() { super.onResume(); Log.v("life","onResume恢复 界面可见,并界面上控件可获取焦点(可点击)"); } @Override protected void onPause() { super.onPause(); Log.v("life", "onPause暂停 界面可见,界面上控件不可获取焦点(无法点击)"); } }
进入界面时,首先调用onCreate()-->onStart()-->onResume()
退出界面时,会先调用onPause()-->onStop()-->onDestory()
界面失去焦点时,调用onPause()-->onStop()
界面重新获得焦点时,调用onRestart()-->onStart()-->onResume()
横竖屏切换时,调用onDestory()-->onCreate()-->onStart()-->onResume()
我们可以看一下官方提供的Activity的生命周期的图:
实际上,Activity的生命生命周期分为几种:整个生命周期、可见生命周期、前台生命周期。
整个生命周期:你的Activity应该在onCreate()方法里执行设置“全局”状态(如定义布局)。并在onDestroy()方法里释放所有剩余资源
onCreate()-->onStart()-->onResume()-->运行在最前端-->onPause()-->onStop()-->onDestory()
可见生命周期:在这两个方法,你可以保持该Activity需要展示给用户的资源。
onPause()-->onStop()-->onRestart()-->onStart()-->onResume()
前台生命周期:一个Activity可以经常在前台状态发生转换—比如,当设备休眠或者弹出了个对话框。因为经常会发生转换,所以在这两个方法之间的代码应该是轻量级的,防止导致其他转换变慢使得用户需要等待。
onPause()-->onResume();
相关文章推荐
- Android 四大组件之Activity生命周期
- Android基础知识之四大组件Activity(三)多个Activity交互的生命周期与设计思想
- Android四大组件之——Activity的生命周期(图文详解)
- Android四大组件之一Activity及其生命周期
- android四大组件--Activity生命周期
- Android 四大组件之Activity生命周期
- Android四大组件(1.1)--Activity的生命周期
- android四大组件之一Activity生命周期的理解
- 深入剖析Android四大组件(一)——Activity生命周期详解
- Android四大组件之---activity生命周期详解
- Android四大组件之一Activity生命周期及解释
- Android 四大组件学习之Activity生命周期
- Android核心基础-8.Android四大组件之Activity-3.生命周期、横竖屏切换、启动模式、进程管理
- Android四大组件之——Activity的生命周期(图文详解)
- Android 四大组件生命周期:Activity
- Android基础知识之四大组件Activity(二)一个Activity的生命周期?
- 野人学Android基础篇之四大组件第一课--Activity的生命周期
- Android 四大组件之 Activity(1)--生命周期
- Android四大组件之Activity(七大生命周期)
- Android的四大组件之-Activity的状态和生命周期