全网唯一一份,从入门到精通的Android进阶学习笔记整理,Android应用层

onCreate方法是整个生命周期中唯一必须实现的方法。布局都是在Activity中进行,在该方法中做一些初始化的操作,如通过setContentView设置界面布局的资源,初始化所需要的组件信息等。

2. onRestart()

当Activitiy被onStop()并且没有被killed时候,调用这个方法进行唤醒,也可以说理解为,当处于非栈顶状态的活动需要再次返回栈顶,展现给用户的时候,触发该方法。该方法优先于onStart()方法。

3.onStart()
表示Activity正在启动,但是无法与用户进行交互。可以把onStart和onStop看成一对。

4.onResume()
Activity已在前台可见,可与用户交互了。

*   onResume方法与onStart的相同点是两者都表示Activity可见,只不过onStart回调时Activity还是后台无法与用户交互,而onResume则已显示在前台,可与用户交互。*

5.onPause()

这个方法之后有可能是onResume也有可能是onStop。用于提交未保存发生变化了的持久化数据,及停止动画及其他其他比较消耗CPU的事件,这是为了更好的运行新的activity。当在activity中打开的是一个dialog不完全覆盖这个activity,则activity就会是onPause状态。

6.onStop()

activity完全看不见的时候,会调用onStop方法。当用户自己退出程序的时候,建议在onStop方法中保存数据。此时Activity不可见,仅在后台运行。同样地,在onStop方法可以做一些资源释放的操作(不能太耗时)。

7.onDestroy()
Activity正在被销毁,也是生命周期最后一个执行的方法,一般我们可以在此方法中做一些回收工作和最终的资源释放。

二、异常情况下的生命周期过程

异常生命周期产生原因一般有这两种:

1.横竖屏切换;
Activity处于竖屏状态,如果突然旋转屏幕,由于系统配置发生了变化,在默认的情况下,Activity会被销毁并重新创建。

可以在onSaveInstanceState方法中存储一些数据以便Activity重建之后可以恢复这些数据。onSaveInstanceState和onRestoreInstanceState只有在Activity异常终止时才会被调用的,正常情况是不会调用这两个方法的。

当我们不想Activity在屏幕旋转后导致销毁重建时,可以设置configChange=“orientation”;当SDK版本大于13时,我们还需额外添加一个“screenSize”的值,对于这两个值含义如下:
orientation:屏幕方向发生变化,配置该参数可以解决横竖屏切换时,Activity重建问题(API<13)
screenSize:当设备旋转时,屏幕尺寸发生变化,API>13后必须配置该参数才可以保证横竖切换不会导致Activity重建。
设置了这两个参数后,当横竖屏切换时,Activity不会再重建并且也不会调用之前相关的方法,取而代之的是回调onConfigurationChanged方法.

2.内存不足的时候killed优先级低的activity.

android系统中进程优先级由高到低依次是:前台进程,可见进程、服务进程、后台进程、空进程.
###对应本篇文章知识点的学习笔记

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享


基础到进阶一份系统全面资料就行
Android进阶核心笔记下载链接
提取码:28ia(如果链接失效可以查看我的主页,个人介绍!)
###或者资料领取直达链接点击链接【Android高级工程师核心群】文件夹里可以领取!

介绍!)
###或者资料领取直达链接点击链接【Android高级工程师核心群】文件夹里可以领取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值