From 2c3e60ba11789edbe405432fea62ed948ff8ceac Mon Sep 17 00:00:00 2001 From: chao Date: Mon, 3 Aug 2020 19:48:01 +0800 Subject: [PATCH] =?UTF-8?q?#628=20=E4=BD=BF=E7=94=A8trycatch=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E8=B0=83=E7=94=A8draw=E6=96=B9=E6=B3=95=E5=B4=A9?= =?UTF-8?q?=E6=BA=83,=E4=B8=8D=E6=98=BE=E7=A4=BA=E7=9A=84View=E4=B8=8D?= =?UTF-8?q?=E8=B0=83=E7=94=A8draw=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../uiperformance/UIPerformanceManager.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/uiperformance/UIPerformanceManager.java b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/uiperformance/UIPerformanceManager.java index c66f2e6b..06269218 100644 --- a/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/uiperformance/UIPerformanceManager.java +++ b/Android/java/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/uiperformance/UIPerformanceManager.java @@ -82,14 +82,24 @@ public class UIPerformanceManager implements LifecycleListenerUtil.LifecycleList } } } else { - long startTime = System.nanoTime(); - view.draw(mPerformanceCanvas); - long endTime = System.nanoTime(); - float time = (endTime - startTime) / 10_000 / 100f; - //LogHelper.d(TAG, "drawTime: " + time + " ms"); ViewInfo viewInfo = new ViewInfo(view); - viewInfo.drawTime = time; - viewInfo.layerNum = layerNum; + try { + //页面不可见不进行渲染时间的统计,统计时候为0 + if(chartView.getVisibility() == View.VISIBLE){ + long startTime = System.nanoTime(); + view.draw(mPerformanceCanvas); + long endTime = System.nanoTime(); + float time = (endTime - startTime) / 10_000 / 100f; + //LogHelper.d(TAG, "drawTime: " + time + " ms"); + viewInfo.drawTime = time; + viewInfo.layerNum = layerNum; + } + }catch (Exception e){ + //自定义View某些变量尚未初始化可能会崩溃 + //方便区分方法走到了异常,可以判断没有成功渲染设置值为-1 + viewInfo.drawTime = -1; + viewInfo.layerNum = -1; + } infos.add(viewInfo); } } -- GitLab