双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

TabActivity里面添加Activity后怎么完全退出程序

junjun071308 junjun071308 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在网络上搜索了,大概就5个方案:
1.System.exit(0) 或者 finish 不可行

2.android.os.Process.killProcess(android.os.Process.myPid()); 不可行

3.利用广播发送退出请求,然后每一个Activity都继承一个基类Activity,在基类Activity里面完成退出 不可行

4.List<Activity> 每次有新的Activity就在他的onCreate()里面将自己添加至一个Activity管理栈,然后退出时一个一个从里面获取Activity,调用其finish()达到完全退出 该方案可行,但是问题是:这样一来,我的程序会变得很卡(程序本身要加载大量的图片,去除这个方案后和加入这个方案后卡顿效果明显(亲测),原因可能是这样一来,这个Activity就一直被Activity管理栈关联着,然后gc无法回收掉一些垃圾)

5.制造一个异常,并进行捕获,然后在自定义的Application里面处理这个异常,同时去除Android系统的默认Fc窗口,实现消无声息的异常退出,而在用户看来却是如同正常退出(原理还没搞明白,暂未测试实现)

补充一下,我的TabActivity使用的是singleTask模式启动的
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
junjun071308
Android 80,489 成员 91,371 内容