该文章参考了Carson_Ho(https://juejin.im/post/5a4ae66d518825390e348aac)博主的文章,如有侵权请通知删除
在安卓面试过程中经常会被问到如何从一个Activity中退出整个App的问题,下面我就总结一下如何回答该问题。
重点:退出整个App有两个步骤,第一步骤是关闭所有的Activity,第二步骤是退出这个App进程。
第一种:创建存放所有Activity的集合进行遍历退出
1.写一个基类BaseActivity,让你所创建的Activity都继承与它,在该基类中定义一个LinkedList(因为
应用场景是增删次数多,所以此处用链表),在每个onCreate方法中将自身的Activity添加add进该链
表中,其次在每个onDestory中再删除remove自身的Activity即可,然后再BaseActivity中些一个清空删
除所有Activity并退出进程的方法,当你想退出整个App的时候调用这个方法即可。
2.写一个Application的子类让它在onActivityCreated方法中添加每一个activity到链表中,然后在其中
写一个退出App的方法,当想退出的时候,调用该方法即可,记得在Manifest文件中添加这个
application。
优点:应用场景广泛:兼顾单 / 多任务栈 & 多启动模式的情况
缺点:需要 Activity 经历正常的生命周期,即创建时调用onCreate(),结束时调用onDestroy()
因为只有这样经历正常的生命周期才能将 Activity正确写入 & 写出 容器内
应用场景:任意情况下的一键退出 App 实现
第二种:RxBus
使用 RxBus当作事件总线,在每个 Activity里注册RxBus订阅(

本文总结了在Android面试中如何回答如何退出整个App的问题,包括六种关闭Activity的方法和两种结束进程的方式。重点指出,退出App不仅涉及关闭Activity,还包括结束进程。在特定场景下,如非最后一个Activity调用退出方法,Android系统可能会尝试重启进程。文章提供了一个全面的解决方案,并引用了Carson_Ho的原博内容链接。
最低0.47元/天 解锁文章
471

被折叠的 条评论
为什么被折叠?



