关于android应用activity生命周期中,按下home键和按下back键的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于android应用activity生命周期中,按下home键和按下back键的问题相关的知识,希望对你有一定的参考价值。

应用启动执行了onStart()和onResume()。
然后按home键,执行了onPause()-->onStop(),然后长按home键,出现任务管理器,删除任务后,发现执行了onDestory(),同时,观察DDMS里,发现应用的进程也同时结束了。这个操作执行顺序为onPause()-->onStop()-->onDestory()
而如果应用启动后,按下back键,直接执行了onPause()-->onStop()-->onDestory(),比按home键多执行了一步,但是,同样执行了onDestory(),在DDMS里面看到,进程依然存在,长按hoem结束应用,进程还是存在

参考技术A 进程只是APP的一个容器而已,这个容器空了不代表这个容器没了,但是你把容器销毁了,容器里的东西一样会被销毁,按back键就是后退栈做pop操作的过程(回调onbackpressed,默认实现是调用finish(),finish()方法又会去调用OnDestroy),栈顶Activity就被销毁,所以会回调Activity的OnDestroy方法;而按home键是把整个任务栈挂起到后台,回到启动器首页,Activity并没有销毁。所以不会回调Activity的OnDestroy。

至于长按home键启动任务管理器结束应用,进程还是存在,这个因手机而异。有些手机是销毁这个应用(Application类的实例),进程这个容器还在,只是空了(空进程),发现进程不见了多数是因为系统回收空进程;有些手机是直接结束进程。本回答被提问者采纳

以上是关于关于android应用activity生命周期中,按下home键和按下back键的问题的主要内容,如果未能解决你的问题,请参考以下文章

四大组件:Activity生命周期-Android12

四大组件:Activity生命周期-Android12

Android中activity的生命周期

跟我学Android之十四 Activity的生命周期

Android——Activity生命周期(转)

6) 十分钟学会android--Activity的生命周期之启动与销毁