合理应用activity的生命周期优化程序内存
来源:互联网 发布:sql语言有哪些方法 编辑:程序博客网 时间:2024/06/11 23:03
activity的四种状态
运行状态:可和用户交互
暂停状态:部分被覆盖
停止状态:全部被覆盖
销毁状态:该activity结合苏,或activity所在的dalvik进程被结束
涉及的函数:
onCreate
onStart
onRestart
onStart
onPause
onStop
onDestory
运行状态分析:
一个 Activity从被创建到被销毁的过程执行了哪些方法:
一个Activity正常的显示出来:执行了 - onCreate(),onStart(),onResume()方法,执行完onResume方法后,一个activity就可以正常显示出来了。
退出一个Activity:执行了onPause(),onStop(),onDestroy()
停止状态分析:
以MainActivity被OtherActivity完全覆盖住为例,也就是从mainactivity启动了OtherActivity:
从MainActivity转到OtherActivity:MainActivity先执行onPause(),然后OtherActivity执行onCreate(),onStart(),onResume()显示出来,然后MainActivity执行onStop(),进入了停止状态。
按back键从OtherActivity回到MainActivity:OtherActivity先执行onPause(),然后MainActivity执行onRestart(),onStart(),onResume(),mainactivity显示出来。然后OtherActivity执行onStop(),onDestroy()。
暂停状态分析:
MainActivity部分被OtherActivity覆盖住
- 从MainActivity转到OtherActivity:MainActivity先执行onPause(),然后OtherActivity执行 onCreate(),onStart(),onResume(),MainActivity进入了暂停状态。
- 从OtherActivity回到MainActivity:OtherActivity先执行onPause(),然后MainActivity执行onResume(),然后OtherActivity执行onStop(),onDestroy()方法。
HOME键的执行顺序:onPause->onStop->onRestart->onStart->onResume
BACK键的顺序: onPause->onStop->onDestroy->onCreate->onStart->onResume
onPause不要做太耗时的工作
上下文菜单,dialog等不会对activity的生命周期造成影响。因为他们是activity产生出来的。
启动和退出Dialog时,Activity的状态始终未变,可见,Dialog实际上属于Acitivity内部的界面,不会影响Acitivty的生命周期。
此外,对于不同的启动模式或Intent Flags或操作行为(如横竖屏切换)等有可能会影响到Activity生命周期
综述:
如果我们熟练的掌握了,activity的生命周期,就可以选择性的覆盖指定的方法,这样可以优化我们的程序内存~
更多了解:
Android总结篇系列:Activity Intent Flags及Task相关属性
http://www.cnblogs.com/lwbqqyumidi/p/3775479.html
Android总结篇系列:Activity启动模式(lauchMode)
http://www.cnblogs.com/lwbqqyumidi/p/3771542.html
Android总结篇系列:Activity生命周期
http://www.cnblogs.com/lwbqqyumidi/p/3769113.html
Activity的生命周期,BACK键和HOME键生命周期
http://www.cnblogs.com/zyw-205520/p/3313268.html
- 合理应用activity的生命周期优化程序内存
- 合理应用activity的生命周期优化程序内存
- 合理应用fragment的生命周期优化程序内存
- 合理应用activity的启动方式优化程序内存(结合android的任务和回退栈)
- 内存优化 -static合理使用
- android应用开发之Activity的生命周期
- Activity的生命周期与应用场景
- Android应用中Activity的生命周期
- Activity 生命周期的理解与应用
- android中Activity的生命周期及应用
- 结合程序理解activity的生命周期
- Android Activity生命周期演示程序的例子
- Activity生命周期应用实例
- 合理的关闭所有Activity
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
- 内存优化的解决方案(最全面的总结!如何合理的使用内存)
- Android程序优化-----JAVA类的生命周期
- Activity的生命周期(五)——Activity生命周期的应用场景
- 利用对象为结点创建简单双向链表
- C语言聊天室
- extjs3.2中datefield和comboBox使用readOnly不正常显示
- IOS菜鸟的所感所思——UITableView中数据之间的顺序与反向传递
- MarkDown 的使用学习
- 合理应用activity的生命周期优化程序内存
- Remove Linked List Elements
- 关于进入App前几秒引导动画效果
- 深度优先
- 3044矩形面积求并
- hdu 2087
- android 判断某个服务是否正在运行的方法
- wordpress数据库结构说明以及wordpress数据库优化方法
- Django 添加本地bootstrap静态文件配置