android 知识整理生命周期《一》
来源:互联网 发布:新浪微博的域名是什么 编辑:程序博客网 时间:2024/05/19 13:43
一.Activity的生命周期
Activity三个稳定状态:
Resumed:这个状态在onResumed()方法执行完毕,也就是Activity的running状态,用户可以与Activity进行交互
Paused:在这个状态,Activiy处于半透明的,其他的activity来到栈顶,如果其他Activity是透明的,或者不完全遮挡,这时就会只执行onPause()方法,进入该状态。Activity在该状态,用户不能与之交互。
Stopped:当Activiy被其他Acitivy完全遮挡,处于后台时,会进入该状态,在进入这个状态前,需要保存Activity的数据(避免因停留过久, 或内存不足,而被系统杀死导致丢失数据)。在该状态,acitivy不能执行任何代码。
onCreate()方法:Activity生命周期的第一个方法,用来建立一个Activiy所需要的基础操作,比如加载界面布局,声明UI元素,定制UI元素,配置UI数据。
onStart()方法:表示Activity正在被启动,这时Acitivy已经可见了,但还没处在前台,用来初始化Activity的数据。
onResume()方法:此时Activity已经可见,并且出现在前台并开始活动。主要用来做准备Activity资源的操作。
onPause()方法:表示Activity正在暂停,正常情况下,接下来onStop()要被调用。特殊情况,如果新的Activity是透明的,没有完全遮挡住旧Activity,则旧Activity只会执行onPause()方法,在该方法中,保存数据,停止动画,释放系统资源,做一些轻量级的工作。
onStop()方法:在新的的Activity启动之后,旧的Activity会停止再执行onStop()方法,用来保存耗时的数据操作(写数据到DB等),释放资源。
onDestroy()方法:表示Activity即将被销毁,Activity生命周期最后一个回调方法,用来做一些回收工作,防止内存溢出。当Activity在后台内存不够被系统杀死时,该方法不会回调。
二.对生命方法的理解:
Activity的生命周期中方法,创建成功,到销毁,方法成对出现的,也要成对使用。
onCreate()对应onDestroy()
onStrart()对应onStop()
onResume()对应onPause()
成对出现:
onCreate()和onDestroy()方法期间Activity的状态是一致的,是看不见界面的,处于黑屏状态,因此不能执行太过耗时的操作。
onStart()和onStop()方法期间Activity的状态是一致的,界面处于半透明的状态。
onResume()和onPause()方法期间Activity的状态一致,界面是可见的。
成对使用:
1.onPause()和onResume()
onPause()方法:
①停止会导致CPU的浪费。停止动画等。
②提交没有保存的改变,一般用来保存临时的或者不太耗时的操作。
③释放系统资源,如广播、sensors、或者是其他耗电的资源。
onResume()方法:
①初始化资源(开启动画等)
②注册广播、sensors等系统资源
2.onStart()和onStop()
onStop()方法:
①在onStop()方法中释放资源,从而避免内存泄露。清除所有Activity资源的操作。
②执行稍微耗时的保存数据的操作,如保存数据到数据库。
onStart()方法:
创建在onStop()方法中释放的资源。
三.方法的区别
- android 知识整理生命周期《一》
- Android知识整理<一>Activity
- Android布局知识整理一
- 【Java 虚拟机系列知识:整理一】java虚拟机的生命周期
- Android面试整理(一)-- Fragment生命周期
- Android开发知识(一):Activity的生命周期与启动模式
- Android Activity生命周期整理
- IoC知识整理(一)
- matlab知识整理(一)
- js知识整理(一)
- Android开发——Fragment知识整理(一)
- android DrawerLayout 实现侧滑菜单 知识整理(一)
- Android开发知识整理
- android中的知识整理
- android 相关知识整理
- 整理Android 知识
- Android面试知识整理
- Android面试知识整理
- H-chart使用解析
- git fetch和git pull之间的区别
- 平衡二叉树
- 近5年133个Java面试问题列表
- 九度oj 题目1165:字符串匹配
- android 知识整理生命周期《一》
- Nginx配置文件详解总结
- Session会在浏览器关闭后消失吗?
- Bmob遇到的问题
- linux 下 安装 rpm 格式 的 mysql
- Android几种开源库
- PAT-A1004
- Nginx+Tomcat实现单IP、多域名、多站点的访问
- 微信JS-SDK之图像接口开发详解