打开 UI 层级功能崩溃
Created by: MRwangqi
自定义 view 的 onDraw 方法有 paint.setColor ,dokit 会使 paint.setColor NPE
自定义 view onDraw 部分
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int startX = leftMargin + signalWidth;
int startY;
int stopY = height;
for (int i = 0; i < SIGNAL_NUM; i++) {
if (weakIndex > i) {
signalPaint.setColor(weakColor);
} else if (normalIndex > i) {
signalPaint.setColor(normalColor);
} else {
// 报错部分
signalPaint.setColor(noneColor);
}
...
}
异常信息
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Paint.setColor(int)' on a null object reference
at com.test.ux.SignalView.onDraw(SignalView.java:96)
at android.view.View.draw(View.java:21579)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:86)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.traverseViews(UIPerformanceManager.java:81)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.getViewInfos(UIPerformanceManager.java:68)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.getViewInfos(UIPerformanceManager.java:63)
at com.didichuxing.doraemonkit.kit.uiperformance.UIPerformanceManager.onActivityResumed(UIPerformanceManager.java:108)
at com.didichuxing.doraemonkit.DokitActivityLifecycleCallbacks.onActivityResumed(DokitActivityLifecycleCallbacks.java:91)
at android.app.Application.dispatchActivityResumed(Application.java:461)
at android.app.Activity.dispatchActivityResumed(Activity.java:1296)
at android.app.Activity.onResume(Activity.java:1833)
at androidx.fragment.app.FragmentActivity.onResume(FragmentActivity.java:455)
at com.kiwi.mesh.base.BaseRTKActivity.onResume(BaseRTKActivity.kt:28)
at com.kiwi.mesh.ui.area.MappingAreaActivity.onResume(MappingAreaActivity.kt:190)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1454)
at android.app.Activity.performResume(Activity.java:8050)
- 小米8 lite 、MIUI12、Android 10