本文是针对同学们提问的回答综述

首先当然还是熟悉的前言,在熟悉的位置

//********************************

其实是我做了个开源项目(^__^),拿出来给大家鉴赏下,欢迎大家提意见

项目:https://github.com/xuyt11/androidBackFlow欢迎关注和 star 。

功能:一个控制 Android 视图( activity 与 fragment )回退的工具。

tip :这是一个回退工具,不是跳转工具

//********************************

更详细的介绍可以点击:

如何优雅的退出 App ?这样优雅的退出 App !: http://www.jianshu.com/p/75b145b9b222

一行代码,完成多层视图回退功能( android): http://www.jianshu.com/p/8fb52395c259

一行代码,完成多层视图回退功能( android): https://www.v2ex.com/t/333969

https://github.com/xuyt11/androidBackFlow/blob/master/README.md

//********************************

1、设置 rootActivity 为 singleTask的方式,来退出程序

    A: 设置 rootActivity 为 singleTask 有这样一个问题:即在用户按下 home 键退出当前的 task 后,当再进入 task 时,在其上的所有 activity 都将被摧毁。所以,你只剩下一个 rootActivity 了。像手机中的电话 App 就是这个需求的,除非你的业务需求可以这样。

    B: 但是,在rootActivity之前,添加一个欢迎页作为程序入口,由欢迎页跳转到rootActivity,然后销毁欢迎页,这样就解决了问题。

    C: 这其中的区别只是该task是否为singleTask launchMode Activity创建的。所以,我猜测task与第一个Activity有关联。(具体原理不太清楚,希望高手指点!)。

还有就是,我这个不只是一个退出App的工具,可以看下面的第3条

2 、关于直接杀进程

可以看看这篇文章:http://blog.csdn.net/u011277123/article/details/53579269

《 Android 疑难杂症之 KillProcess 和 System.exit 无效》讲的很详细,非常值得阅读一番,我就不献丑了。

3、直接退出程序

就是我也发过《如何优雅的退出 App ?这样优雅的退出 App!》这篇文章,所有可能造成了些误会。我一直在文章前面就强调过的:是一个回退工具,不是跳转工具,所以当然也不只是一个退出App的工具。

我这个开源项目,其实是一个 Android 的视图回退工具,“退出程序”只是其中的一个功能类型(BackFlowType.finish_task),他还有其他 4 个功能类型。

          back_to_activity: 返回到指定的activity(回退到指定的activity),若有多个activity实例,则只会回退到第一个匹配;

          back_to_fragments: 返回到指定的fragment列(回退到第一个匹配该fragment顺序列的activity)

          back_to_activity_fragments: 返回到activity和fragment列都一致的activity(回退到包含了该fragment顺序列的activity)

          back_activity_count: 回退数量为backActivityCount个的Activity,适用于固定顺序的业务流程中,每个activity界面都能有固定的position,两个activity position的差值,即为backActivityCount

4、关于倾入性

有多个同学都提到了,但我想,主要还是一个关于解决回退功能复杂度的问题。

若是在你的项目中有大量的多页面回退需求,我觉得这还是一个很好地解决方案的。

所以需要权衡两者的利弊。

5、关于项目本身

这个是我自己开源的项目,所以若有任何 bug ,可以在 github 上提出来,我虽然不能保证是第一时间,但绝对是会在最短的时间中解决的。我是会持续的对这个项目进行支持的。

所以我也希望用户若有使用的,请在遇到 bug 时,也能在 github 上提出,能有解决方案就更好了。也希望大家多多支持。

更多相关文章

  1. tcping测试服务器TCP端口
  2. 《第一行代码》第一章
  3. Android(安卓)应用退出后销毁apk进程
  4. android mvp快速开发框架介绍(dileber使用之小工具使用)
  5. Android(安卓)studio 使用github上的android开源项目
  6. 安卓项目常规设置清单
  7. android ide开发工具
  8. (转摘)Android腾讯微博客户端开发二:相关工具篇
  9. Android(安卓)Studio集成OpenCV

随机推荐

  1. Linux-03文件操作[增删改查]
  2. Linux-02目录操作命令
  3. Linux-01基本命令/关机和重启
  4. position定位:absolute绝对定位,relative
  5. JavaScript快速入门
  6. Linux-06关于sudo
  7. JavaScript 基本了解
  8. Linux-05查找命令
  9. 模态框 flex grid
  10. HTML常用标签的用法示例