目录
Android 应用层:
1.Android 四大组件 (一) Activity 生命周期
2.Android 四大组件 (二) Service 使用
3.Android 四大组件 (三) BroadcastReceiver 介绍
4.Android 四大组件 (四) ContentProvider介绍
5.Android 四大组件 (五) 第五大组件 - Fragment 使用
6.Android 8.0新特性介绍以及注意事项
7.AIDL介绍以及简单使用
8.ViewPager 相关使用
9.Serializable和Parcelable之序列化
Android 四大组件 (一) Activity 生命周期
简单粗暴。
分两块来熟悉activity生命周期:一.典型生命周期过程;二.异常情况下的生命周期过程。
一. 典型生命周期过程
Activitiy的生命周期方法主要有七个:onCreate()、onRestart()、onStart()、onResume()、onPause()、onStop()、onDestory()。
1. onCreate()
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进阶核心笔记下载链接】
提取码:28ia(如果链接失效可以查看我的主页,个人介绍!)
网友评论