一.activity生命周期
1.activity四种状态
running/paused/stopped/killed
paused:eg当前面有一个透明activity挡住
stopped:eg完全挡住
activity启动->onCreate->onstart()可见,但是不可交互->onResume在前台,可以交互
点击home回到主界面(activity不可见)->onPause->onStop
回到原来activity->onRestart->onStart->onResume
退出当前activity->onPause->onStop->onDestory
说明: onStop返回上一个活动时,onRestart->onStart->onResume
onStop杀掉进程,返回上一个活动,onCreate
onPause:当另一个活动来到前台 onStop:当活动不可见
3.进程优先级
前台/可见/服务/后台/空
比如activity可见可交互,前台进程;service服务进程;activity跳到后台,后台进程
二.android任务栈
三.activity启动模式
1.standard
2.singleTop
eg:栈顶复用
3.singleInTask
eg:栈内复用,移除中间部分
A>B>A时,B会直接被销毁,使得A重新出现在栈顶,因此B的生命周期onDestory,A的生命周期onRestart->onStart->onResume
4.singleInstance
eg:较少,用途是让其他程序和改程序共享这个活动的实例,就必须要一个单独的返回栈来管理这个活动
四.scheme跳转协议
页面内跳转协议,通过定义自己的scheme协议,非常方便的跳转app中的各个页面;通过scheme协议,服务器可以定制化App跳转哪个页面,可以通知栏消息定制化跳转,可以通过H5跳转