Android开发中存在的闪退、及解决状态

时间:2022-04-20 17:45:05
1:浏览器闪退
原因:浏览器中开启了缩小放大按钮(ZoomController),在开始进入浏览器时,缩小放大按钮会出现,并在一段时间后渐变消失,当在它完全消失前退出浏览器,在一些android系统上回出现异常,且此异常无法try/catch。
解决办法:如下

 @Override
protected void onDestroy() {
    if (webvContent != null) {
        webvContent.clearCache(true);
        webvContent.stopLoading();
        //防止系统在3.x的手机,在缩放按钮未完全关闭时候退出的闪退
        webvContent.postDelayed(new Runnable() {

            @Override
            public void run() {
                if (webvContent != null) {
                    webvContent.destroy();
                    webvContent = null;
                }
            }
        }, 3000);
    }
    super.onDestroy();
}

解决情况:已经解决闪退
错误主要日志: java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@3ee11912 at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:404)

2:拍照/选择图片后闪退 原因1:在进行选择相机拍摄的过程中,由于个别手机内存小,当拍照完成后即将回到应用时候,因应用被回收,无法回到原有状态,所以出现异常闪退。 解决情况:暂未解决
解决办法:暂无
错误主要日志:暂无
原因2:部分手机在使用相机拍照时候存在横竖屏切换,可能会导致我们应用重新调整生命周期
解决办法:在使用到拍照功能的Activity设置:android:configChanges="orientation|keyboardHidden|screenSize"
3:红米note开机即闪退           原因:手机系统为开发版,不稳定,导致程序运行中出现的加密解密so库中出现字段加载错误。           解决情况:已解决           解决办法:去除相应的加密解密so库文件,采用https双向认证的方式,进行数据获取           错误主要日志:           java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "DES_set_key_unchecked"           referenced by "/data/app/com.yiping.eping-1/lib/arm/libepingcrypto.so"...

4:三方授权时候的界面闪烁
          原因:使用fragment制作的加载圈,在页面切换过程中,状态没有保存导致的错误,从而使界面切换过程中界面闪烁。           解决情况:已解决,待后续的关注           解决办法:重写加载圈,使用原生Dialog的方式           错误主要日志:           java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState           at android.support.v4.app.DialogFragment.dismiss