Activity 详解

Activity 生命周期

1.activity 的4种状态

四大组件之一,通常有4种运行状态


4种运行状态

running Activity 可交互阶段, 屏幕可响应, 处于 栈顶
paused 可见 ,失去屏幕交互 ,所有数据变量都在 (内存紧张时,会被回收 )
stopped 不可见 成员变量等 可能还在 (内存不紧张时)
killed 系统回收 了

2.activity生命周期分析

生命周期

onCreate() 加载布局 数据加载, 图片预加载等
onStart() activity 正在启动 处于用户可见,还没有前台显示,无法与用户进行交互
onRestart()
onResume() activity 已在前台 可见 与用户交互
onPause() 停止 可见 不可触摸
onStop()
onDestroy()

3.android 进程优先级

image.png

前台进程 可与用户交互

可见进程 不可交互

服务进程 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 跳转协议

image.png

使用方法:客户端 向h5页面 注册一个URL scheme
使用例子参考:
Android产品研发(十一)-->应用内跳转Scheme协议http://blog.csdn.net/qq_23547831/article/details/51685310

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,544评论 25 708
  • Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service,Conte...
    星星_点灯阅读 845评论 0 3
  • 3.2 Activity详解 3.2.1 生命周期分析 典型情况下生命周期分析 一般情况下,当当前Activity...
    jianhuih阅读 1,173评论 0 0
  • 不愧是我司的女人,家里装修故障给老人交代:你跟一下这个事情,确认下现在进展是啥,我就知道后面方案怎么弄了。。。[挖...
    特蕾西吖小姐阅读 122评论 0 0
  • 文/佳 悄悄地一天又一笑而过带着面纱不管不顾我在这夜色撩人中将自己变成一抹夕阳红艳艳温暖我的回忆在遥远的苍穹赐予无...
    石川河女神阅读 224评论 1 1

友情链接更多精彩内容