xuexiangjys / XUpdate

🚀A lightweight, high availability Android version update framework.(一个轻量级、高可用性的Android版本更新框架)
https://github.com/xuexiangjys/XUpdate/wiki
Apache License 2.0
2.33k stars 406 forks source link

NullPointerException #110

Closed df13954 closed 4 years ago

df13954 commented 4 years ago

问题描述(必填) 对问题进行清晰而简明的描述,把握问题的关键点。 Attempt to invoke virtual method 'float com.xuexiang.xupdate.entity.PromptEntity.getWidthRatio()' on a null object reference

com.xuexiang.xupdate.widget.UpdateDialogActivity.O0000o00(UpdateDialogActivity.java:)

 com.xuexiang.xupdate.widget.UpdateDialogActivity.onStart(UpdateDialogActivity.java:)  android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1447)

使用的XUpdate版本(必填) 最新版本,

如何重现(必填) 重现的步骤:

目前生产环境出现一条这样的奔溃

private void initWindowStyle() {
    Window window = getWindow();
    if (window != null) {
        window.setGravity(Gravity.CENTER);
        WindowManager.LayoutParams lp = window.getAttributes();
        DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
        if (mPromptEntity.getWidthRatio() > 0 && mPromptEntity.getWidthRatio() < 1) {
            lp.width = (int) (displayMetrics.widthPixels * mPromptEntity.getWidthRatio());
        }
        if (mPromptEntity.getHeightRatio() > 0 && mPromptEntity.getHeightRatio() < 1) {
            lp.height = (int) (displayMetrics.heightPixels * mPromptEntity.getHeightRatio());
        }
        window.setAttributes(lp);
    }
}

猜测是这个位置mPromptEntity。getWidthRatio 因为奔溃上传sdk,没有上报行号,比较蛋疼。最近不上报出错行号了。

期望的效果 对你期望的效果进行清晰而简明的描述。

截图 如果方便的话,贴一下程序截图和代码片段以帮助解释您的问题。

设备信息 请填写一下你运行设备的信息,信息越全越有助于我理解问题

附加信息 在此处添加任何有关该问题的任何其他说明。

xuexiangjys commented 4 years ago

已做了相应的修改: b9644aae4bf285b7617c2a557a3829d500f7441e

df13954 commented 4 years ago

感谢