美文网首页
Activity生命周期

Activity生命周期

作者: 北方教主 | 来源:发表于2018-04-02 11:50 被阅读16次

    别总听别人去总结这些东西,听一万遍都不能成为你的东西,因为是二手的,不如自己去看源码,源码里的注释会对代码解释的很详细,很多博客的博主写的内容也都是源码翻译过来的,所以想学习的话不如去直接看源码。


    image

    1 onCreate当activity第一次被创建的时候被调用,所有的静态的状态设置都应该在这个方法里完成,比如视图的创建,列表数据的绑定,以及一系列的静态状态的设置,随后是onstart方法

    2 onRestart 当activity被stop后再次启动时候onStart方法会被在onStart方法之前调用

    3 onStart 当activity对用户可见的时候被调用,如果当前activity来到前台的话接着调用onResume方法,如何activity直接变得不可见的话调用onStop方法

    4 onResume 当activity马上就要和用户交互的时候调用,此时当前activity位于栈顶,随后跟着的生命周期方法就是onPause方法

    5 onPause 当 activity要重新启动一个以前的acticity的时候这个方法会被调用,这个方法通常用来将数据持久化,停止动画,或者其他🎺cpu的操作,这个方法的实现必须尽量快一点,因为下一个activity的onResume方法需要在这个activity的onPause方法返回时候才会调用。随后的生命周期方法是onResume如果这个activity再次回到前台,如果当前activity直接变得不可见的话,那么随后的生命周期方法就是onStop方法了。

    6 onStop方法 当前activity不再对用户可见的时候调用,比如说别的另一个activity位于这个activity之上也已经调用过onResume了, onStop方法的调用发生在启动一个新的activity,或者一个旧的activity重新回到前台,或者当前activity被销毁时候调用,跟随着的生命周期方法是onRestart当前activity再次回到前台可以和用户交互,或者跟随的是生命周期方法onDestroy当前activity马上要销毁了(onStop方法时候可以被直接被kill,前台进程缺少资源时候)

    7 onDestroy activity被最终销毁之前调用,比如调用finish方法后会被调用,或者系统临时的销毁这个实例去节省空间,可以通过方法isFinishing来区别这两个场景,(onDestroy方法时候可以被直接被kill,前台进程缺少资源的时候)

    8 onStop 和 onDestroy方法可以被直接kill掉,被kill掉的时候不会执行一行其他的方法。所以要在onPause方法中做好数据的保存,

    相关文章

      网友评论

          本文标题:Activity生命周期

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