Activity详解

一、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原生界面




猜你喜欢

转载自blog.csdn.net/mahuicool/article/details/80222727
今日推荐