Android 如何避免运行时奔溃
奔溃问题
android运行的时候难免会有一些空指针(NullPointerException)或者下标越界(IndexOutOfBoundsException),用户使用的过程操作某一个按钮的时候,就发生了崩溃.导致app直接闪退,降低用户体验,因此导致用户流失
1.在项目根目录的build.gradle文件中添加
allprojects { repositories { maven { url 'https://dl.bintray.com/xuuhaoo/maven/'} } }
2. 在项目的build.gradle文件中添加依赖包
implementation 'com.tonystark.android:defense_crash:2.0.0'
3.在项目的Application中初始化操作
DefenseCrash.initialize(); DefenseCrash.install(this);
4.在项目的Application中实现 implements IExceptionHandler 接口
public class MyApp extends Application implements IExceptionHandler { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); // step1: Initialize the lib. DefenseCrash.initialize(); // setp2: Install the fire wall defense. DefenseCrash.install(this); } @Override public void onCaughtException(Thread thread, Throwable throwable, boolean isSafeMode) { // step3: Print the error when crashed during runtime. throwable.printStackTrace(); // step4: Upload this throwable to your crash collection sdk. } @Override public void onMayBeBlackScreen(Throwable throwable) { // onLayout(),onMeasure() or onDraw() has breaks down, // it causes the drawing to be abnormal and the choreographer to break down. // We will notify you on this method,you’d better finish this activity or restart the application. } @Override public void onEnterSafeMode() { // We enter the safe mode to keep the main looper loop after crashed.You’d better do nothing here,we just notify you. } }
5.大功告成,这样用户在使用app是就不会出现奔溃闪退的现象啦!!!
努力不是表现给谁看的,而是从小白渐渐走向牛X的过程!!!