Skip to content
This repository was archived by the owner on Jun 3, 2021. It is now read-only.

Commit cb9b685

Browse files
lucky-chenYorkShen
authored andcommitted
[WEEX-595][Android] fix report empty when too fast between render(template) and destroy (#1475)
1 parent 5689183 commit cb9b685

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceExceptionRecord.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,26 @@ public void checkEmptyScreenAndReport() {
141141
return;
142142
}
143143
//2s limit of instance stayTime (case in\quit very fast case)
144-
final long DIFF_LIMIT = 2000;
145-
long useTime = 2001;
144+
final long DIFF_LIMIT_FROM_RENDER_URL = 2000;
145+
final long DIFF_LIMIT_FROM_RENDER_TEMPLATE = 1000;
146+
147+
long curTime = WXUtils.getFixUnixTime();
146148
Long startRequestTime = mStageMap.get(WXInstanceApm.KEY_PAGE_STAGES_DOWN_BUNDLE_START);
149+
long useTime;
150+
String useTimeForm;
151+
boolean shouldReportByUseTime;
147152
if (null != startRequestTime) {
148-
useTime = WXUtils.getFixUnixTime() - startRequestTime;
153+
useTime = curTime - startRequestTime;
154+
shouldReportByUseTime = useTime >= DIFF_LIMIT_FROM_RENDER_URL;
155+
useTimeForm = WXInstanceApm.KEY_PAGE_STAGES_DOWN_BUNDLE_START;
156+
}else {
157+
Long startRenderTemplateTime = mStageMap.get(WXInstanceApm.KEY_PAGE_STAGES_RENDER_ORGIGIN);
158+
useTime = null != startRenderTemplateTime?curTime - startRenderTemplateTime:curTime;
159+
shouldReportByUseTime = useTime >= DIFF_LIMIT_FROM_RENDER_TEMPLATE;
160+
useTimeForm = WXInstanceApm.KEY_PAGE_STAGES_RENDER_ORGIGIN;
149161
}
150-
if (useTime < DIFF_LIMIT) {
162+
163+
if (!shouldReportByUseTime){
151164
return;
152165
}
153166

@@ -164,6 +177,7 @@ public void checkEmptyScreenAndReport() {
164177
flagMap.put("wxHasDegrade",String.valueOf(hasDegrade.get()));
165178
flagMap.put("wxHasReportScreenEmpty",String.valueOf(mHasReportScreenEmpty));
166179
flagMap.put("wxUseTime", String.valueOf(useTime));
180+
flagMap.put("wxUseTimeForm", useTimeForm);
167181

168182
WXExceptionUtils.commitCriticalExceptionRT(
169183
instanceId,

0 commit comments

Comments
 (0)