这篇文章主要为大家详细介绍了android开发时出现程序闪退的处理方法,文中示例代码介绍的非常详细,在做开发时如果出现这个问题希望你能通过这篇文章解决问题。
直接上代码:
CrashHandler
/**
* 自定义的 异常处理类 , 实现了 UncaughtExceptionHandler接口
*
*/
public class CrashHandler implements UncaughtExceptionHandler {
// 需求是 整个应用程序 只有一个 MyCrash-Handler
private static CrashHandler INSTANCE ;
private Context context;
//1.私有化构造方法
private CrashHandler(){
}
public static synchronized CrashHandler getInstance(){
if (INSTANCE == null)
INSTANCE = new CrashHandler();
return INSTANCE;
}
public void init(Context context){
this.context = context;
}
public void uncaughtException(Thread arg0, Throwable arg1) {
System.out.println("程序挂掉了 ");
// 在此可以把用户手机的一些信息以及异常信息捕获并上传,由于UMeng在 这方面有很程序的api接口来调用,故没有考虑
//干掉当前的程序
android.os.Process.killProcess(android.os.Process.myPid( ));
}
}
CrashApplication
/**
* 在开发应用时都会和Activity打交道,而Application使用的就相对较少了。
* Application是用来管理应用程序的全局状态的,比如载入资源文件。
* 在应用程序启动的时候Application会首先创建,然后才会根据情况(Intent)启 动相应的Activity或者Service。
* 在本文将在Application中注册未捕获异常处理器。
*/
public class CrashApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
CrashHandler handler = CrashHandler.getInstance();
handler.init(getApplicationContext());
Thread.setDefaultUncaughtExceptionHandler(handler);
}
}
AndroidManifest.xml
中注册 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/andr oid"package="org.wp.activity" android:versionCode="1" android:ve rsionName="1.0">
<application android:icon="@drawable/icon" android:label="@s tring/app_name" android:name=".CrashApplication" android:debuggable="tru e">
<activity android:name=".MainActivity" android:label="@s tring/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category. LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>
看完上述内容,你们掌握android开发时出现程序闪退的处理方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。