android笔记之activity生命周期和启动模式

来源:互联网 发布:淘宝头条 编辑:程序博客网 时间:2024/05/18 20:52

Activity生命周期

void onCreate()

  • Activity已经被创建完毕

void onStart()

  • Activity已经显示在屏幕,但没有得到焦点

void onResume()

  • Activity得到焦点,可以与用户交互

void onPause()

  • Activity失去焦点,无法再与用户交互,但依然可见

void onStop()

  • Activity不可见,进入后台

void onDestroy()

  • Activity被销毁

void onRestart()

  • Activity从不可见变成可见时会执行此方法

使用场景

  • Activity创建时需要初始化资源,销毁时需要释放资源;或者播放器应用,在界面进入后台时需要自动暂停

完整生命周期(entire lifetime)

onCreate–>onStart–>onResume–>onPause–>onStop–>onDestory

可视生命周期(visible lifetime)

onStart–>onResume–>onPause–>onStop

前台生命周期(foreground lifetime)

onResume–>onPause

Activity的四种启动模式

每个应用会有一个Activity任务栈,存放已启动的Activity

Activity的启动模式,修改任务栈的排列情况

  • standard 标准启动模式
  • singleTop 单一顶部模式
    • 如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。保证栈顶如果存在,不会重复创建。
    • 应用场景:浏览器的书签
  • singeTask 单一任务栈,在当前任务栈里面只能有一个实例存在

    • 当开启activity的时候,就去检查在任务栈里面是否有实例已经存在,如果有实例存在就复用这个已经存在的activity,并且把这个activity上面的所有的别的activity都清空,复用这个已经存在的activity。保证整个任务栈里面只有一个实例存在
    • 应用场景:浏览器的activity
    • 如果一个activity的创建需要占用大量的系统资源(cpu,内存)一般配置这个activity为singletask的启动模式。webkit内核 c代码
  • singleInstance启动模式非常特殊, activity会运行在自己的任务栈里面,并且这个任务栈里面只有一个实例存在

    • 如果你要保证一个activity在整个手机操作系统里面只有一个实例存在,使用singleInstance
    • 应用场景: 电话拨打界面
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 取痣要多少钱一颗 鼻下有痣 取脸上痣 鼻根有痣 在哪里取痣好 取痣 多少钱 取痣哪种方法好 取痣那里好 哪家医院取痣好 痣和痦子的区别 怎么取脸上的痣 怎样祛除黑痣 怎样才能取痣 中医去痣 面部哪些痣不能取 那里取痣好 那里有取痣的 善痣恶痣 取痣大概需要多少钱 怎么样取痣 痦子与痣的区别 医院取痣多少钱一颗 取一颗痣多少钱 取痣有哪些方法 两眉之间的痣 取痣注意事项 取个痣多少钱 哪里有取痣的 在哪可以取痣 取痣用什么方法好 取色素痣 什么样的痣是好痣 西南医院取痣价格 脸上取痣多少钱 右眉有痣 取痣怎么取 怎么能取痣 取痣在哪取 怎样能取痣 关于痣的说法 痣的形成