先给各位拜个年,祝各位新年快乐,马年行大运!

本期那点破事来聊聊Activity的生命周期。

众所周知,生命周期这个东西非常重要,比如servlet的生命周期包括init,service(doPost/doGet/...),destroy。这个生命周期就诠释了整个servlet的一个调用过程,同样的,在Android中activity也是有生命周期的。

先看个官方的android activity生命周期金字塔图:

【Android开发那点破事】Android中Activity的生命周期_第1张图片


从图中可以看出,其中有几个状态以及怎样从开始到达金字塔顶端,即resumed状态;怎样从金字塔顶到最后的销毁过程。你不需要全部实现这里面的方法,但是有几个重要的你必须要实现,这样才能保证你的app正确的运行。虽然不实现,但是你必须保证:

1、在用户手机接收到电话或者切换到别的app时,app不要奔溃。

2、没有必要时,不要消耗宝贵的系统资源。

3、当用户离开你的app后,一段时间后回到你的app,尽量保持原始的状态。

4、当用户旋转手机方向时,app不能奔溃,或者丢失当前的用户信息。


这些状态当中,不是所有的都是静态的。只有这3个是:

Resumed状态: 也可以成为running状态,此时activity是在最前面,用户可以与其交互。

Paused状态:此时activity是停止状态,被其他的resumed的activity所覆盖着。在这种状态下,活动部分被另一个—其他活动的前景是半透明或不覆盖整个屏幕。暂停活动不接受用户输入并不能执行任何代码。

Stopped状态:在这种状态下,该活动是完全隐藏的,对用户不可见的,它被认为是在后台。停止时,活动实例及其所有成员变量保留等状态信息,但不能执行任何代码。

其他状态(创建并启动)是系统通过调用下一个生命周期回调方法迅速转移到下一个状态。即,系统调用onCreate()后,它迅速调用onStart(),紧接着onResume()。


是不是很简单,其实就这点破事。

好了今天这个破事就到这里,其实android开发就这么点破事。关于其他破事,见专栏:

更多Android开发的破事,请看专栏:《Android开发那点破事》

更多相关文章

  1. android checkbox 未选中状态 已选中状态 替换成自己的图片
  2. Android,iOS打开手机QQ与指定用户聊天界面
  3. Android横竖屏切换时Activity的生命周期问题
  4. Android中判断用户多次连续点击
  5. Android改变状态栏statusbar背景色
  6. Android用户apk如何获得系统(system)权限
  7. Android Activity生命周期及详解
  8. Android状态机StateMachine使用举例及源码解析

随机推荐

  1. PHP函数的返回值、参数及变量、函数作用
  2. zy0805-1
  3. zy0805
  4. 08-02作业
  5. 回调与递归
  6. PHP函数的返回值与参数,匿名函数与变量作
  7. 函数的返回值和参数,匿名函数和变量的作用
  8. 什么是JWT?Token与Session的区别?
  9. 用PHP写一个用户注册验证
  10. 技术人员如何评估物流信息API服务商合不