深入理解 Android Activity的生命周期

2010-10-13 14:08:29|分类: Android |标签:周期调用activityandroidprotected |字号订阅

之前也说过了解Android Activity是十分重要的,因为android的应用的生命周期是由android 系统决定的!Android Activity生命周期中可认为分为7个阶段;用7个函数原型来描述吧
protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onRestart()
protected void onDestroy()

savedInstanceState对象是用于保存activity的对象的状态,为什么要提到这点呢?看看activity的过程描述吧!

点击查看原图

更详细的说明可以看看《Google android 深入浅出》一书!不过看到上图,我想大家都可以很直观了解到activity的整个过程。每次焦点的变化同时有相应的阶段,这样也是android之所以高效原因之一吧!图上有三个循环,那又代表什么呢?没错,是activity的三个层面!看下图吧!

点击查看原图

通过两个图,你会更清楚的了解activity的生命周期了,离开了可见阶段,或者说失去了焦点,activity就很可能被进程终止了!为什么说是可能呢?如果你可过我之前的博文的话,你应该知道android 虚拟机的工作原理!

activity主要生命周期的方法说明:
onCreate(Bundle savedInstanceState):创建activity时调用。设置在该方法中,还以Bundle的形式提供对以前储存的任何状态的访问!
onStart():activity变为在屏幕上对用户可见时调用。
onResume():activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用的)。
onPause():activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状态的,也是保护现场,压栈吧!
onStop():activity被停止并转为不可见阶段及后续的生命周期事件时调用。
onRestart():重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
onDestroy():activity被完全从系统内存中移除时调用,该方法被调用可能是因为有人直接调用onFinish()方法或者系统决定停止该活动以释放资源!

更多相关文章

  1. android设置Activity背景色为透明的2种方法
  2. android中设置分隔线几种方法
  3. android 使用DigestUtilsmd5加密的方法
  4. Android getWindow().setFlags方法与SD卡权限
  5. android 浏览器怎么支持 window.close() 和window.opener.locati
  6. Android修改自己程序字体的方法详解
  7. android使用android:ellipsize="end"无效的解决方法
  8. Android 软件安装方法介绍

随机推荐

  1. android 拨号盘Contact模块讲解(四)
  2. 使用NDK开发SQLite3
  3. Gphone Android和手机联盟
  4. Android RecyclerView使用(二) -给Item添加
  5. Android程序界面主题切换
  6. Android设置Settings实现:PreferenceActiv
  7. Android NDK 知识系列(五)
  8. android 屏幕旋转(横屏、竖屏、反向横屏、
  9. Android空白处隐藏软键盘方案
  10. Android集成银联支付,提示java.lang.Unsat