Activity 生命周期
1.activity 的4种状态
四大组件之一,通常有4种运行状态
running Activity 可交互阶段, 屏幕可响应, 处于 栈顶
paused 可见 ,失去屏幕交互 ,所有数据变量都在 (内存紧张时,会被回收 )
stopped 不可见 成员变量等 可能还在 (内存不紧张时)
killed 系统回收 了
2.activity生命周期分析
onCreate() 加载布局 数据加载, 图片预加载等
onStart() activity 正在启动 处于用户可见,还没有前台显示,无法与用户进行交互
onRestart()
onResume() activity 已在前台 可见 与用户交互
onPause() 停止 可见 不可触摸
onStop()
onDestroy()
3.android 进程优先级
前台进程 可与用户交互
可见进程 不可交互
服务进程 service
后台进程 比如 activity 前台 点击 home 键 就进入 后台了(不会立刻回收 ,根据内存情况,进行相应回收 )
空进程 不属于任何一种,优先级最低 不活跃 出于缓存的目的进行保留,android 系统可以随时杀掉它
android 任务栈
task 栈结构 (后进先出) 完全退出应用 需要清空所有栈
activity 启动模式 lauch mode
standard 标准模式
- 每次启动 activity,都会重新创建 一个实例 ,加到任务栈task中
- 每次都会重新走生命周期(消耗内存资源)
singleTop 栈顶复用模式
- 在栈顶时,就会复用,调用onNewIntent
singleTask 模式(单例)
- 把当前activity任务栈以上的activity都移除 ,调用onNewIntent
singleInstance模式 独享任务栈,用的比较少
android:screenOrientation="portrait" 屏幕为竖屏 ,不切换 activity
10)横竖屏切换时候activity的生命周期:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
scheme 跳转协议
使用方法:客户端 向h5页面 注册一个URL scheme
使用例子参考:
Android产品研发(十一)-->应用内跳转Scheme协议http://blog.csdn.net/qq_23547831/article/details/51685310