Android Activity 内容总结

四中状态

运行状态,处于当前栈顶,可见的,活跃状态。

暂停状态:一般是正在打开下个activity的动画过程,或者是本半遮蔽状态。不在栈顶,也是活跃状态。

停止状态:不可见,不在栈顶,页面状态,以及成员变量等会被保存,除非被强制回收。

销毁状态:从栈中弹出,系统优先回收这种activity。但是如果被其他存活的线程或者对象持有,可能就会无法回收,造成内存泄露。所有activity被持有时一定要在正确的时机释放。

生命周期

启动模式

standard:默认启动模式,每次都创建一个新activity

singleTask:当前栈中最多只能有一个实例,如果栈内有目标activity,就会将这个activity上面所有的activity弹出

singleTop:当钱栈顶只能有一个实例。栈顶不能有两个目标activity。如果栈顶有目标activity,就不会再重新创建一个activity

singleInstance:会重新创建一个回退栈,创建目标activity。并且只会存在唯一一个实例。

状态保存

·当手机内存不足的时候,Android系统是有可能回收 stop 和 pause状态的activity的。这个时候就需要在onSaveInstanceState方法中保留页面的属性数据。当返回栈从新切到当前activity的时候就会从新创建,就可以从onCreate方法或者onRestoreInstanceState中的bundle中拿到保存的数据,并恢复到页面上。

注意:onSaveInstanceState 和  onRestoreInstanceState 只有在页面发生异常的时候会被调用。例如 页面回收或者横竖屏幕切换。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android发展也有十几年了。也许在很多Android开发者看来写Activity的文章已经意义不大。因为网络上...
    怪咖大蜀阅读 767评论 0 0
  • 学习资料: Android群英传 Android开发艺术探索 Activity是与用户交互的第一接口,感觉说是四大...
    英勇青铜5阅读 2,567评论 15 41
  • 该系列主要是记录、回顾之前的学习和一些笔记。转载请注明! Activity在应用中的表现为界面,它会加载指定的布局...
    Angki阅读 370评论 0 0
  • 1、说下activity的生命周期? 参考答案: 在正常情况下,Activity的常用生命周期就只有如下7个onC...
    Marlon_IT阅读 369评论 1 1
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,753评论 0 5