[置顶] 什么是FC?如何避免FC的发生,另外FC发生时如何捕获相应的uncaught exception?
在网上看了一些博客但是就是没有答案,所以自己总结了一些答案供大家参考,希望对大家有所帮助,谢谢!
首先我们要知道什么是FC?它是一个什么东西?全称force close,就是崩溃了,要强制关闭
导致出现Force Close的原因有很多,常见的有比如空指针啦,类没有找到啦,资源没找到,就连Android API使用的顺序错误也可能导致(比如 setContentView()之前进行了findViewById()操作)
Force Close有的人说可以用来让应用完全退出 而故意导致这个问题,让程序强制关闭,这种做法我还是不常用。
如何避免弹出Force Close窗口 可以实现Thread.UncaughtExceptionHandler接口的uncaughtException方法 代码如下
importjava.lang.Thread.UncaughtExceptionHandler;
importandroid.app.Application;
publicclassMyApplication extendsApplicationimplementsUncaughtExceptionHandler {
@Override
publicvoidonCreate() {
//TODOAuto-generated method stub
super.onCreate();
}
@Override
publicvoid uncaughtException(Thread thread, Throwable ex) {
thread.setDefaultUncaughtExceptionHandler(this);
}
}
想要哪个线程可以处理未捕获异常,thread.setDefaultUncaughtExceptionHandler(this); 这句代码都要在那个线程中执行一次
更多相关文章
- [Android(安卓)基础系列]Service、IntentService和习以为常的误
- Android(安卓)Looper And Hander 机制剖析 - 01
- BitmapFactory类的decodeStream方法在网络超时或较慢的时候无法
- Android下Socket简单通信+Python服务器
- android面试题总结加强再加强版(四)
- Android排错: has leaked window com.android.internal.policy.i
- Android(Java)中的Object
- android 单例模式和策略模式的结合使用
- 再论Handler—Handler事件分发、Handler线程切换原理解析