Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
来源:互联网 发布:阿里云cdn回源 编辑:程序博客网 时间:2024/06/07 06:11
我当时以为生命周期是这样的:
onCreate --》 onStart -- ---》 onResume ---》 onPause ---》 onStop ---》 onRestart ---》 onResume ---》 onPause ---》 onStop
回家后我自己在电脑上重新演示了一下,得出了另外的结果,果然是实践出真知啊。 好了,先上代码,给有需要的朋友直接贴代码:
package com.king.review.base;import android.app.Activity;import android.os.Bundle;import android.util.Log;/** * author: king.liu * data:2013-10-8 下午8:02:40 * do:TODO */public class ActivityLife extends Activity { public static final String TAG = "ActivityLife"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "onCreate ..."); } @Override protected void onStart() { super.onStart(); Log.i(TAG, "onStart ..."); } @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "onRestart ..."); } @Override protected void onResume() { super.onResume(); Log.i(TAG, "onResume ..."); } @Override protected void onPause() { super.onPause(); Log.i(TAG, "onPause ..."); } @Override protected void onStop() { super.onStop(); Log.i(TAG, "onStop ..."); } @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "onDestory ..."); }}
既然谈到了Activity问题,那我就完整的来弄一下。
首先程序启动的时候,打印出的log:
10-08 20:32:52.231: I/ActivityLife(1188): onCreate ...
10-08 20:32:52.251: I/ActivityLife(1188): onStart ...
10-08 20:32:52.251: I/ActivityLife(1188): onResume ...
即流程是onCreate --->onStart--->onResume.
点返回按钮的时候,打印的log:
10-08 20:33:49.282: I/ActivityLife(1188): onPause ...
10-08 20:33:50.401: I/ActivityLife(1188): onStop ...
10-08 20:33:50.401: I/ActivityLife(1188): onDestory ...
流程是:onPause--->onStop--->onDestory
综上一个正常的流程就是 :onCreate --->onStart--->onResume--》onPause--->onStop--->onDestory
再来说说横竖屏切换时的生命周期:
首先启动时:
10-08 20:46:43.811: I/ActivityLife(1188): onCreate ...
10-08 20:46:43.831: I/ActivityLife(1188): onStart ...
10-08 20:46:43.831: I/ActivityLife(1188): onResume ...
生命周期是这样的:onCreate--->onStart--->onResume.
然后切换一下:
10-08 20:47:56.551: I/ActivityLife(1188): onPause ...
10-08 20:47:56.561: I/ActivityLife(1188): onStop ...
10-08 20:47:56.561: I/ActivityLife(1188): onDestory ...
10-08 20:47:56.631: I/ActivityLife(1188): onCreate ...
10-08 20:47:56.631: I/ActivityLife(1188): onStart ...
10-08 20:47:56.651: I/ActivityLife(1188): onResume ...
生命周期是这样的:onPause-->onStop--->onDestory--->onCreate--->onStart--->onResume;
然后再切换一下屏幕:
10-08 20:49:24.601: I/ActivityLife(1188): onPause ...
10-08 20:49:24.601: I/ActivityLife(1188): onStop ...
10-08 20:49:24.601: I/ActivityLife(1188): onDestory ...
10-08 20:49:24.621: I/ActivityLife(1188): onCreate ...
10-08 20:49:24.631: I/ActivityLife(1188): onStart ...
10-08 20:49:24.631: I/ActivityLife(1188): onResume ...
生命周期是这样:onPause--->onStop---》onDestory---》onCreate--->onStart--->onResume;
综上:Android中横竖屏切换时的生命周期是这样的:
onCreate--->onStart--->onResume.--》onPause--->onStop---》onDestory--->onCreate--->onCreate--->onStart--->onResume;
onCreate --》 onStart -- ---》 onResume ---》 onPause ---》 onStop ---》 onRestart ---》 onResume ---》 onPause ---》 onStop
在这里特别要注意一下,当屏幕切换的时候,之前那个屏幕状态就已经销毁了(onDestory),然后在新的屏幕中重新开始一个生命周期:(onCreate-->onStart--->onResume)
我犯的错误是,以为之前屏幕生命周期被挂载起来了,然后再重新启动(onRestart)。。。 这种问题比较常见,正好和小伙伴能共享一下。
- Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
- Android中横竖屏切换时Activity的生命周期变化
- android 横竖屏切换,activity的生命周期
- Android Activity横竖屏切换的生命周期
- Android Activity 横竖屏切换的生命周期
- android 横竖屏切换时的activity生命周期
- android手机横竖屏切换时Activity的生命周期:
- android横竖屏切换时Activity的生命周期
- android横竖屏切换时activity的生命周期
- Android基础之横竖屏切换时Activity的生命周期
- Android手机切换横竖屏时Activity的生命周期
- Android横竖屏切换时Activity的生命周期问题
- android横竖屏切换时Activity的生命周期
- Activity横竖切换时的生命周期过程
- Android 横竖屏切换 Activity生命周期log
- android横竖屏切换activity生命周期变化
- Android 横竖屏切换activity生命周期
- Android横竖屏切换Activity生命周期变化
- HTML5学习(十一)---服务器发送事件
- AVCaptureDevice的几个属性使用
- 通俗易懂的讲解iphone视图控制器的生命周期
- 【转】android 自定义控件
- ios 开发中 developer tools access 总是要输入密码问题的解决
- Android 中Activity生命周期分析:Android中横竖屏切换时的生命周期过程
- Android 面试题(经典)
- Android 中Activity生命周期分析(二):从AActivity 到BActivity过程分析
- std::map 如何使用结构体作为自定义键值
- vs2010 MFC +win7下的程序 在win7上正常运行,XP就出错(ADO数据库连接出错)
- 转 intent常用功能
- ArcGIS教程:地理处理服务示例(选择数据)(二)
- 转 Android中进入系统设置界面
- HTML5 DOM元素类名相关操作API classList简介