开发艺术探索——生命周期和启动模式
2016-09-16 20:28
211 查看
一、Android的生命周期
1、生命周期图
2、各个生命周期何时被回调
onCreate():创建Activity的时候,被回调。onStart():Activity已经被创建了,但是不可见。
onResume():Activity已经被创建,并显示在前台而且可见时、
onPause():当Activity未显示在前台的时候调用。
onStop():Activity未显示在前台,并且完全不可见的时候。
onDestroy():Activity准备被销毁的时候。
3、每个生命周期可以处理的事件
onCreate:初始化View,并处理逻辑和业务相关的代码onStart()与onStop():
onStop():销毁一些占用内存的View或者组件,比如说:停止连接数据库啦,停止当前页面的网络。
onStart():当然就是当恢复的时候开启onStop()停止的东西了。
onResume()与onPause():可以想象成onStart()与onStop()的前期工作。
onPause():做一些保存数据、停止动画等工作。
onResume():开启onPause停止的东西。
这两组的区别其实不大,大致的区别在于onStop()处理稍微耗时的回收工作,onPause()处理轻量级的回收工作。
onDestory():内存回收,防止内存泄漏。
4、生命周期交互的问题
①、onPause()与onStop()之间的区别。
onPause():是当Activity不在前台的时候调用。
onStop():表示当Activity不在前台且不可见的时候调用。
所以两个是在不在前台和可不可见的区别。怎么理解不在前台但可见的现象。比如说Dialog这类的显示控件可能会展示在Activity之上或者一些半透明背景的View显示在Activity之上,就造成了Activity不在前台但是可见的现象。
②、onPause()->onResume()
一般不会发生。现在唯一发现会发生的情况是调用了DialogActivity会发生这种情况。
问1、根据①结合实践,证明Dialog是否会发生②的现象。
③、onStop()->onRestart()->onStart()
当Activity完全被其他Activity覆盖的时候,会被调用。
④、当一个Activity打开了另一个Activity的生命周期
所以如果在onPause()方法内做耗时的操作,就会影响第二个Activity的效果。
二、异常情况下的生命周期
相关文章推荐
- Android 艺术开发探索 第一章 Activity 的生命周期和启动模式观后感
- Android开发艺术探索阅读笔记之一:Activity的生命周期和启动模式
- Android开发艺术探索学习笔记1——Avtivity生命周期和启动模式
- 【Android开发艺术探索读书笔记】 第一章 Activity的生命周期与启动模式
- 笔记一 Android开发艺术探索之Activity的生命周期和启动模式
- Android开发艺术探索--Activity生命周期和启动模式
- <<Android 开发艺术探索>> 第一章 Actiivty的生命周期和启动模式
- 开发艺术探索--Activity生命周期和启动模式
- Android开发艺术探索--第一章Acitivity的生命周期和启动模式
- [Andorid开发艺术探索 读书笔记]Activity的生命周期和启动模式 (二)
- Android开发艺术探索(一)Activity生命周期和启动模式
- [Andorid开发艺术探索 读书笔记]Activity的生命周期和启动模式 (一)
- Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)
- 【读书笔记】【Android 开发艺术探索】第1章 Activity 的生命周期和启动模式
- Android开发探索第一章 Activity生命周期及启动模式总结(三)
- Android开发探索第一章 Activity生命周期及启动模式总结(一)
- Android开发艺术探索---第一章activity启动模式之自我总结
- Android开发艺术探索笔记(2)- Activity的启动模式
- Activity的四种启动模式--看Android开发艺术探索总结
- Android开发艺术探索(研读笔记)——02-Activity的启动模式