Activity原理
来源:互联网 发布:淘宝助理教程 编辑:程序博客网 时间:2024/06/17 02:30
找了好多书,看了好多的播客,并没有找到一个很系统讲Activity原理的。虽然哦我也吸收了很多关于Activity的知识。但没有一个知识的构架,还是很虚
在这里,只好自己再总结一次:
我觉得Activity的生命周期:onCreate(Bundle onSavedInstanceState)——>onStart()——>onResume()——>onPause()——.>onStop()——>onDestory()
这六个生命周期,其实两两对应。其实很多时候,我们疑惑的是,在正常开发中,什么时候调用以上六大生命阶段的哪个阶段。
我总结了下:按配对来说,
create和destroy这一对,是不可视化、不可交互的。所以,很多不重复使用的资源,都在destroy进行销毁,当然,我们很多时候把基本的UI初始化都放在了create中。对于这个不重复使用的资源的理解是,如果这个资源不大,在页面的焦点失去后,或者被挡住后,不需要释放以腾出更多的资源去满足其他Activity,就可以放在create中初始化,在destroy中销毁
start和stop这一对,是可视化、不可交互的。但start这个过程是瞬间的,当然,上面的一对阶段,也是瞬间的,毕竟初始化和销毁并不要多少时间。但是,start阶段是可视化的开始,stop是可视化的结束。每次对应Activity的现场恢复都是冲start开始。所以,对于start,要初始化那些在屏幕被完全替换掉了的时候需要释放的资源和操作,可能你在看视频,电话来了,这时候,我们的网络连接资源,还有语音资源,都要让给电话系统了;并且整个屏幕是被切换掉了,所以最后一个步骤必然是stop。
resume和pause这一对,是可视化、可交互的,当然可交互是指resume,所以Activity的生命中,resume是最长的——所有用户的交互,都可以在这个阶段被接收的。所以这个阶段,应该初始化的是那些在失去焦点后,虽然屏幕并没有被切换掉的,但是却很影响性能的资源和操作。百度地图在加载坐标和位置信息的过程中,如果你点击一个AlertDialog,这时地图的焦点失去了,所以,它停止加载,当它重新获取焦点的时候,就继续获取。也就是在resume中初始化上述情况的资源,在pause中,暂停这是资源的提供
总结中.......
- Activity原理
- Android 原理 activity
- activity切换动画原理
- Activity原理分析(一)
- Activity间数据传输原理图解
- Android动态加载Activity原理
- Android动态加载Activity原理
- 设置Activity大小不再全屏原理(Activity Dialog)
- 设置Activity大小不再全屏原理
- 设置Activity大小不再全屏原理
- Android 设置Activity大小不再全屏原理
- 多个Activity之间切换原理介绍
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android之Activity的框架原理分析
- android (三)、Activity工作原理
- StringUtils的isBlank与isEmply详解
- 使用 策略模式 控制用户的登录与否的行为
- 互斥锁和自旋锁
- win8.1系统安装密钥序列号
- Chrome无法打开文件的错误 [Not allowed to load local resource: file://XXXX]
- Activity原理
- CentOS下安装memcached
- a value of type "const struct Menu * "cannot be assigned to an entity of type "struct Menu"
- 设计模式系列(六)——桥接模式
- Android之SharedPreferences读写数据
- xib创的view修改frame
- poj-2739-Sum of Consecutive Prime Numbers
- UVA 11889
- 项目中遇到的问题