博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Acitivity 生命周期
阅读量:4638 次
发布时间:2019-06-09

本文共 1249 字,大约阅读时间需要 4 分钟。

Fragment 的生命周期:

Activity的生命周期:

(1)启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。

(2)当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。

    Activity -> onFreeze() -> onPause()

(3)当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

(4)当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

    Activity -> onFreeze() -> onPause() -> onStop() -> Maybe -> onDestroy()

(5)用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

(6)当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

(7)用户退出当前Activity(即调用finish()):系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。  

    Activity  -> onPause() -> onStop()  -> onDestroy()

注意:当前Activity弹出的dialog则不会执行Activity任何生命周期中的方法,只有其它Activity弹出了Dialog或者拦住了当前的Activity才会执行onPause() 

当电话来电时:

  Activity -> onPause(), 如果onPause()的时候,用户打开了一个“联系人”,做了操作,此时Activity 不可见, Activity -> onStop(),由于Activity和其所在的进程和Task并没有被销毁,Activity的onRestart 和onStart事件被执行,接着Activity的onResume事件被执行,Activity又被呈现给了用户。

用户这次使用完后,按Back键返回到桌面,A的 onPause, onStop被执行,随后A的onDestroy被执行,由于当前Task中已经没有任何Activity,A所在的Process的重要程度被降到很低,很快A所在的Process被系统结束。

转载于:https://www.cnblogs.com/CharlesGrant/p/4845272.html

你可能感兴趣的文章
PostgreSQL-6-数据分组
查看>>
asyncio的简单了解
查看>>
2019暑假实习
查看>>
WebBrowser IE Version
查看>>
hdu 1992
查看>>
ADO.NET的ORACLE数据库操作
查看>>
The Havel-Hakimi Algorithm
查看>>
batch example
查看>>
使用IntelliJ IDEA 配置Maven(入门)
查看>>
ubuntu 第一次约会ofbiz
查看>>
LDAP & it's implementation
查看>>
Apache HttpComponents中的cookie匹配策略
查看>>
BZOJ 2038: [2009国家集训队]小Z的袜子(hose) 【莫队算法模版】
查看>>
冰封的海盗攻略
查看>>
python from entry to abandon
查看>>
Netty4.x中文教程系列(四) 对象传输
查看>>
linux下find命令使用举例、
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
ubuntun 服务器与Mac
查看>>
vue 热加载问题
查看>>