一、Activity生命周期
1、Activity的四种状态、
running :与用户实时交互的状态,处于Activity栈顶的状态。
paused: Activity失去焦点,或者被一个非全屏的Activity占据,又或者被一个透明的Activity遮挡。
stopped: 当Activity被另一个Activity完全覆盖就会处于此状态,此时不在处于可见状态
killed: Activty被系统回收掉了。
2、Activity生命周期分析
Activity启动->onCreate()->onStart()->onResume()
点击HOME键回到主界面(Activity不可见)onPause()->onStop()
当我们再次回到原Activity时 onRestart()->onStart()->onResume()
退出当前Activity时 onPause()->onStop()->onDestroy()
onResume()->可交互 onStart()->可见
3、Android进程优先级
前台/可见/服务/后台/空
前台:正在与用户交互的Activity 或者与前台Activity绑定的Service
可见:Activity可见,但无法与用户交互的状态
服务:在后台运行的Service进程
后台:正在与用户进行交互的Activity,当用户点击HOME键之后,Activiy转入后台,但并未被销毁,此时就是后台进程
空 :处于缓存的目的而保留的组件,系统可以随时杀掉
二、Android任务栈
任务栈就是一个Activity的集合
三、Activity启动模式
standard: 每次启动一个Activity都会重新创建一个Activity实例,然后加入到任务栈中。
singletop:每次启动一个Activity时会先检查栈顶是否存在该Activity如果有就复用,没有就重新创建。
singletask:每次启动一个Activity时会先检查栈内是否存在该Activity的实例,如果有就会把这个Activity移动到栈顶,并且把他之上的Activity全部销毁。
singleinstance:单一实例模式,整个手机操作系统里面只有一个实例存在,不同的应用去打开这个实例,共享共用的同一个Activity.他会运行在自己单独的任务栈中。
四、scheme跳转协议
https://blog.csdn.net/lishuiyuntian/article/details/77477756
Android中的scheme是一种页面跳转协议,通过定义Scheme协议,可以跳转到App中的任何界面。
服务器可以定制化跳转app页面
app可以通过Scheme跳转到另一个app页面
可以通过h5页面跳转app原生界面