【移动开发】Android应用程序完全退出
2016-04-08 12:52
435 查看
前段期间,参加比赛做项目时遇到了一个问题:Android中应用程序弹出退出对话框退出应用程序时,老是出现上一个Activity,于是将在Activity跳转时将其finish()掉,结果还是不行!寻其原因:原来项目中有好多Activity用来显示界面,之间还掺扎着数据信息的交流,我们知道Activity是以栈的方式存放,要想将程序退出,自然得将众多Activity销毁掉了!
后来在网上查阅了一下,找到了解决方法,在此总结一下前辈们知识,使其更加系统化!
1.任务管理器方法(ActivityManager):
首先要说明该方法运行在Android
1.5 API Level为3以上才可以,同时需要权限
系统会将,该包下的
,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上
2.Dalvik
VM的本地方法:
3.一种比较流行的Android经典完美退出方法:
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!
A.MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作)
B.在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中
C.在需要结束所有Activity的时候调用exit方法
4.广播方式:
A. MyAcitivty类说明:Acitivty的子类,基础该类的子类必须实现onCreate 方法,在该类中注册了一个BroadcastReceiver 用于接收退出消息,在接收到消息之后结束自身
B.自己的Activity都继承MyAcitivty,到需要退出程序的时候发送广播
即可。
5.一个技巧方式:
A.首先设定一个公用的class: Setting.java,定义一个静态类成员
B.然后,在每一个Activity的onResume()加入这一个:
C.当最后一个Activity需要结束整个程序便执行:
6.捕获空指针异常
A.通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口:
注:记得注册Application
B.自定义异常捕获类:
C.在要退出的地方制造空指针异常即可实现闪退,并且不会弹出ANR对话框
7.网上还有一些其他方式:
A.restartPackage、
B. killBackgroundProcesses
不常用,大家可以自行参考哦~
转载自:http://smallwoniu.blog.51cto.com/3911954/1248643
后来在网上查阅了一下,找到了解决方法,在此总结一下前辈们知识,使其更加系统化!
1.任务管理器方法(ActivityManager):
首先要说明该方法运行在Android
1.5 API Level为3以上才可以,同时需要权限
,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上
VM的本地方法:
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!
A.MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作)
A. MyAcitivty类说明:Acitivty的子类,基础该类的子类必须实现onCreate 方法,在该类中注册了一个BroadcastReceiver 用于接收退出消息,在接收到消息之后结束自身
5.一个技巧方式:
A.首先设定一个公用的class: Setting.java,定义一个静态类成员
A.通过异常并在Application的子类中重新注册Thread的 Thread.UncaughtExceptionHandler接口:
B.自定义异常捕获类:
A.restartPackage、
B. killBackgroundProcesses
不常用,大家可以自行参考哦~
转载自:http://smallwoniu.blog.51cto.com/3911954/1248643
相关文章推荐
- Android 从相机或相册获取图片并裁剪
- Android中的WebService新解
- MT6752/32平台 Android L版本驱动移植
- Android Context 详解
- Android使用socket创建简单TCP连接的方法
- android 时间类各种转换
- Mac下Android Studio crash 意外退出
- Android_滑动的时候头部变化效果
- Android】开发优化之——调优工具:dump hprof file 查看内存情况,找到内存泄露,androidhprof
- RecyclerView的痛点使用
- Android模拟器接收UDP数据包的若干问题分析
- Android开发之Intent
- android中TextView分段展示不同颜色,字体,时间
- ViewAnimator控制视图的隐藏与显示
- Android编程实现简单的UDP Client实例
- Android 解压和重新打包system.img
- Android Studio 2.0出炉
- android 开发小工具收集
- android 推流解决方案
- Android DownloadManager详解