美文网首页
Activity生命周期

Activity生命周期

作者: 朩浀樹佺 | 来源:发表于2017-02-22 15:04 被阅读36次

    android的生命周期如下:


    (1)onCreate:表示Activity正在被创建,是android生命周期的第一个调用方法。

    (2)onRestart:表示Activity正在重新启动,是Activity由不可见状态变为可见状态。当用户由当前Activity返回桌面或者重新创建新的Activity,重新返回当前Activity会调用onRestart。

    (3)onStart:表示Activity正在启动,Activity已近可见了,但是还没有出现在前台。

    (4)onResume:表示Activity已经可见了,并且出现在前台并且已经开始活动。

    (5)onPause:表示Activity正在停止,这时可以在这里处理一些事情,比如数据存储,动画的停止等等,但是不能太耗时,不然会影响下一个Activity的显示。

    (6)onStop:表示Activity即将停止,可以做一些稍微重量级的回收工作,但是也一样不能做耗时工作。

    (7)onDestroy:表示Activity即将被销毁,这是Activity生命周期的最后一个回调方法。这里主要做一些资源的释放。


    补充点:

    (1)当Activity返回桌面或者启动新的Activity,回调如下:onPause->onStop,当新的Activity是透明主题的,当前Activity的onStop方法就不会被回调。

    (2)从整个生命周期来说,onCreate和onDestroy是配对的,表示创建和销毁。onStart和onStop是配对的,onResume和onPause是配对的。


    问题:

    (1)onStart和onResume、onPause和onStop有什么区别?
    答:onStart和onStop是Activity是否可见的角度来回调的,而onResume和onPause是从是否位于前台的角度来回调的。

    (2)假设当前Activity A,如果这时用户打开一个新的Activity B,那么B的onResume和A的onPause哪个先执行?
    答:先调用A的onPause再调用B的onCreate。

    (3)屏幕旋转时onSaveInstanceState和onPause哪一个先调用?
    答:不一定,但一定在onStop之后。

    相关文章

      网友评论

          本文标题:Activity生命周期

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