Activity面试详解
- activity生命周期
- android任务栈
- activity启动模式
- scheme跳转协议
activity生命周期
- activity的4种状态
- running(activity处于栈顶,可以被用户点击等操作)
- paused(activity失去焦点,被一个非全屏的activity占据等)
- stoped(activity被另一个activity完全覆盖,不可见)
- killed(activity被系统回收掉了)
- activity的生命周期
- activity生命周期分析
- Activity启动->onCreate()->onStart()->onResume()
- 点击Home键回到主界面(Activity不可见)->onPause()->onStop()
- 当我们再次回到原Activity时->onRestart()->onStart()->onResume()
- 退出当前Activity时->onPause()->onStop()->onDestroy()
- android进程优先级
前台/可见/服务/后台/空
android任务栈
一个app当中可以有多个任务栈,任务栈是存放activity的,后进先出
activity启动模式
- standard(标准的启动模式)
- singletop(栈顶复用启动模式:检测栈顶是否存在启动的activity)
- singletask(栈内复用模式:检测栈内是否存在启动的activity,存在直接将activity直接置于栈顶,此activity以上的activity都将被移除)
- singleinstance(activity有且只有一个实例,且独享一个任务栈,用的少)
scheme跳转协议
android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面。通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。