...->销毁的过程,掌握这些流...">
美文网首页
那些生命的足迹

那些生命的足迹

作者: SnailWalker | 来源:发表于2018-12-06 11:42 被阅读0次

持续更新......

1.关于生命周期的一些想法

生命周期描述的"组件"由创建->...->销毁的过程,掌握这些流程,以及对应流程的特性,不仅有助于我们更好的了解"组件"的生成过程,也有助于我们更好的管理"组件",从而针对不同的生命状态做不同的事,进而达到对app状态维护,性能维护达到最佳效果.
2.Activity 的生命周期

Activity生命周期总结

通常情况下的生命周期


1.Entire Lifetime :

onCreate() -> onStart() -> onResume()  -> onPause() -> onStop() -> onDestroy()

expand:

onPause() 做一些存储数据,停止动画工作,但不能太耗时,会影响到新Activity的显示,onPause必须先执行完,新的Activity的onCreate()才会执行

onStart() / onStop() 可见,但还没出现在前台,无法与用户交互

onResume() / onPause() 可见且在前台

2.Visible Lifetime

onStart() -> onStop()

当执行onStart回调方法时,Activity开始被用户所见(也就是说,onCreate时用户是看不到此Activity的,那用户看到的是哪个?当然是此Activity之前的那个Activity),一直到onStop之前,此阶段Activity都是被用户可见

3.Forground Lifetime

onResume() -> onPause()

当执行到onResume回调方法时,Activity可以响应用户交互,一直到onPause方法之前


影响Activity生命周期

前提 : Activity栈中只有A

1.Back

按下Back键,系统返回到桌面,并依次执行A:onPause -> A:onStop -> A:onDestroy

2.Home

按下Home键(非长按),系统返回到桌面,并依次执行A:onPause -> A:onStop

3.Activity A被覆盖或者锁屏或者home

onPause() -> onSaveInstanceState() -> onStop()

------------------------------------------------------------------

从锁屏状态恢复 :

从home状态走任务栈恢复:

onRestart() -> onStart() -> onResume()

------------------------------------------------------

从home状态走点击图标恢复

onNewIntent() -> onRestart() -> onStart() -> onResume()

----------------------------------------------------------------------------

4.Activity A启动Dialog

当activity中弹出dialog对话框的时候,activity不会回调onPause。

然而当activity启动dialog风格的activity的时候,此activity会回调onPause函数


Activity与Fragment的生命周期方法

前提: 启动Activity A 中的 Fragment F

创建过程:

A onCreate() ->

F onAttach() -> onCreate() -> onCreateView() -> onViewCreated() -> onActivityCreated() -> onStart()

A onStart() ->  onResume()

F onResume()

destroy销毁过程:

F onPause() ->

A onPause() ->

F onStop() ->

A onStop() ->

F onDestroyView() -> onDestroy() -> onDetach() ->

A onDestroy()

home键操作返回桌面:

F onPause() ->

A onPause() ->

F onStop() ->

A onStop()

home键后从桌面返回界面

A onRestart() ->

F onStart() ->

A onStart() -> onResume()

F onResume()

扩展

1.将Back操作替换为home效果?

#1.通过startActivity()

Intent home = new Intent(Intent.ACTION_MAIN);

home.addCategory(Intent.CATEGORY_HOME);

startActivity(home);

#2.直接调用Api

activity.moveTaskToback(true).

这个方法直接将当前的Activity所在task移到后台,同时保留activity的顺序和状态

相关文章

  • 那些生命的足迹

    持续更新...... 1.关于生命周期的一些想法 生命周期描述的"组件"由创建->...->销毁的过程,掌握这些流...

  • 生命的足迹

    喜欢在这样春好的季节去踏青。 在山间,在田野,在树与花,草与叶的那些开与败,枯与荣中可以清晰可见生命走过的足迹。 ...

  • 生命的足迹

    如果有一天你读懂了我, 你会如何看待现在我。 如果有一天我理解了你, 你我会有着怎样故事。

  • 转载《生命的足迹》

    生命的足迹 作者: 天上河汉生2015/07/02人生感悟 自年少时就习惯走路,不知道这是不是天性。但那个时候,流...

  • 爱从不会走远

    有一天,你停住脚步回头看,会发现来时的足迹和时光里的那些人永远活在你的生命中。永不褪色。那些曾经的过往,你爱的和深...

  • 2017-07-24

    我会深深的记着这个世界在我生命里的模样 所有生命的都是一场独一无二的朝拜 我将用满腔的真诚铭记我足迹的彷惶 那些曾...

  • 阳光含笑///岁月静好

    《生命的足迹 》 文/朝霞满天 纷纷攘攘的世界里 有我生命的足迹 那是春天里的桃花 正巧掉在我的眉梢 迷蒙了双眼的...

  • 妙湲的生命足迹

    生命之旅1天/17520☞妙湲的生命足迹 小时候一身红衣的女娃, 早已经寻不到踪迹了! 如果平均一个人的寿命有八十...

  • 人生足迹 0012 生命

    生命是多么顽强! 当我驻足在祂面前,当我久久凝视祂的时候,当我思绪任意遨游的时候。 就在祂的面前,就在让人毫不在意...

  • 楓林 | 生命足迹

    成年人的世界里是真的没有容易二字, 每天演绎自己生命生活中的角色, 忙碌已成为常规, 自己的生活却变地越来越懒惰,...

网友评论

      本文标题:那些生命的足迹

      本文链接:https://www.haomeiwen.com/subject/haqnqqtx.html