码迷,mamicode.com
首页 > 其他好文 > 详细

合理应用activity的生命周期优化程序内存

时间:2015-05-03 17:34:58      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

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()方法。

另亲测上下文菜单,遮住activity,activity没有任何反应。我想是不是只有是activity之间才可以呢?

综述:

??如果我们熟练的掌握了,activity的生命周期,就可以选择性的覆盖指定的方法,这样可以优化我们的程序内存~

合理应用activity的生命周期优化程序内存

标签:

原文地址:http://blog.csdn.net/a910626/article/details/45459589

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!