美文网首页常用技巧
优雅的退出所有Activity

优雅的退出所有Activity

作者: Mr_阿汤哥 | 来源:发表于2016-01-20 15:40 被阅读102次

什么是优雅式呢?

  • 即Receiver + singleTask.我们知道Activity有四种加载模式,而singleTask就是其中的一种,使用这个模式之后,当startActivity时,他先回在当前栈中查询是否存在Activity的实例,如果存在,则将其至于栈顶,并将其之上的所有Activity移除栈。我们打开一个app,首先是一个splash界面,然后会finish掉splash页面。跳转到主页。然后会在主页进行N次的跳转,期间会产生数量不定的Activity,有的被销毁,有的驻留在栈中,但是栈底永远是我们的HomeActivity。这样就让问题变得简单很多了。我们只需要两步操作即可优雅的实现app的退出。

1.在HomeActivity注册一个退出广播,和第二个广播是一样,但是这里只需要在HomeActivity一个页面注册即可。
2.设置HomeActivity的启动模式为singleTask

  • 当我们需要退出的时候只需要startActivity(this,HomeActivity,class),再发送一个退出广播。上面代码首先会把栈中HomeActivity之上的所有Activity移除栈,然后接到广播finish自己。一切OK!没有弹框,不用考虑机型Rom适配。不会有内存问题,就是那么的优雅,简单。

相关文章

  • 优雅的退出所有Activity

    什么是优雅式呢? 即Receiver + singleTask.我们知道Activity有四种加载模式,而sing...

  • activity

    优雅的退出所有activity 原理 先来说一下原理。我们知道,Activity有四种启动模式,分别为:stand...

  • Android 优雅的退出多个activity

    一 RxBus优雅式 首先,在基类BaseActivity里,注册RxBus监听: 这是事件实体NormalEve...

  • 学到了一个新的方法finishAffinity

    作用:关闭当前activity所在栈中的所有的activity。常用于退出登录 在Activity中调用Activ...

  • Android开发踩坑日记

    1.Activity退出时即时释放资源2.Activity退出时所有静态变量恢复为默认值(全局静态变量)3.Act...

  • 退出所有activity功能的实现

    /** 描述 : activity的基类 作者 : geaosu*/public List mActivitys...

  • 用一种优雅的方式退出所有的Activity

    最近复习安卓的基础知识,准备面试,发现以前荣哥说过的一种退出所有activity的方法,拿出来和大家分享以下。 ...

  • 退出应用

    1. 退出所有的Activity 主要思路就是把所有的Activity统一管理存储,然后统一finish.需要管理...

  • 京东:移动端主观题

    问答题 如何退出Activity?如何安全退出已调起多个Activity的Application? finish(...

  • Android管理activity栈

    在开发app的时候,很多时候我们都需要管理运行的 activity,比如退出登陆后关闭所有activity,只保留...

网友评论

    本文标题:优雅的退出所有Activity

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