您的位置:首页 > 移动开发 > Android开发

Android中处理崩溃异常——补充内容

2016-02-18 16:56 369 查看
上诉代码就能够实现 应用出现无法捕捉的异常时,杀死当前进程,重新启动一个应用。

详细理解,看备份示例——将错误日志上传到服务器;

我之前困扰的地方:搜了很多资料,杀死异常进程,重新启动应用,网上应用都是通过Application对象调用startActivity(intent),然后杀死异常进程。但是我怎样试都不成功,
进程是杀死了,但是应用却没启动起来,如果不将异常进程杀死,那么关闭应用时就得关闭两次,显然不能够接受。网上的一些方法都是错误的:如下几篇博客:
http://blog.csdn.net/ryantang03/article/details/9336295?reload

他们的方法能够捕获异常,杀死异常进程,但是却不能够重新启动应用。
如何杀死异常进程,重启应用,就得使用PendingIntent,这个类是android中对Intent类的包装,具体了解我会在写一篇博客,自己也可以去查看android API。
通过AlarmManager 启动它,并且关闭打开的Activity杀死异常进程就能够实现重新启动应用。
参考链接:http://zheyiw.iteye.com/blog/1670990

通用 application  

1、收集所有 avtivity 用于彻底退出应用  

2、捕获崩溃异常,保存错误日志,并重启应用

程序中未捕获的异常被及时捕捉到,保存在SD卡中,并且给用户良好的提示信息,被没有一下子crash掉,通过SD卡中的错误日志,我们可以很快定义到错误的根源,方便我们及时对程序进行修正。当然了,这里我由于做的是个Demo,所以相关错误日志仅仅保存在了SD卡上,其实好的做法是将错误日志上传到服务器中,以便我们收集来自四面八方用户的日志,为程序进行更新迭代升级。

==================================================================================================

 


Android程序Crash异常处理


在写程序时,肯定会碰到各种问题,在解决这些问题肯定要去看控制台打印的异常信息,根据控制台打印的异常信息来进行针对性的解决。

那么要解决程序运行在用户手机上崩溃的问题,必须得找到问题的原因。因此就要收集崩溃信息,也就是log日志。

Android程序Crash时我们可以做的操作: 

1、将Crash信息存到本地,然后上传到服务器,根据上传的异常信息进行针对性的处理; 

2、系统自带的Crash界面是很不友好的,我们可以自定义程序Crash后的界面,做的友好点;

关于以上2中操作方式,自己的见解: 

1、应用中集成的友盟统计SDK,已经做了错误统计的功能,可以在友盟控制台直白的看到错误信息,当然也可以自己处理。 

2、其实到这儿关注的重点已经是,程序Crash后,如何让它以一种更友好的方式消失 或者 重启应用

找见两个不错的blog,收集至此: 

1、Android程序Crash时的异常上报 

2、Android 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法 

3、Android崩溃处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: