diff --git a/android/sdk/src/main/java/org/apache/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/org/apache/weex/bridge/WXBridgeManager.java index 7d4653f1e8..18da955315 100755 --- a/android/sdk/src/main/java/org/apache/weex/bridge/WXBridgeManager.java +++ b/android/sdk/src/main/java/org/apache/weex/bridge/WXBridgeManager.java @@ -190,6 +190,7 @@ public class WXBridgeManager implements Callback, BactchExecutor { static volatile WXBridgeManager mBridgeManager; private static long LOW_MEM_VALUE = 120; public volatile static int reInitCount = 1; + private volatile static int sInitFrameWorkCount = 0; private static String crashUrl = null; private static long lastCrashTime = 0; @@ -909,6 +910,8 @@ public int callReportCrashReloadPage(String instanceId, String crashFile) { commitJscCrashAlarmMonitor(IWXUserTrackAdapter.JS_BRIDGE, WXErrorCode.WX_ERR_RELOAD_PAGE, "reboot jsc Engine", instanceId, url,extInfo); } + WXLogUtils.e("reInitCount:"+reInitCount); + if (reInitCount > CRASHREINIT) { WXExceptionUtils.commitCriticalExceptionRT("jsEngine", WXErrorCode.WX_ERR_RELOAD_PAGE_EXCEED_LIMIT, "callReportCrashReloadPage","reInitCount:"+reInitCount,extInfo); @@ -2172,6 +2175,8 @@ private void initFramework(String framework) { execRegisterFailTask(); WXEnvironment.JsFrameworkInit = true; + sInitFrameWorkCount++; + WXLogUtils.e("initFrameWorkCount :"+ sInitFrameWorkCount); registerDomModule(); trackComponentAndModulesTime(); } else { diff --git a/weex_core/Source/core/bridge/platform/core_side_in_platform.cpp b/weex_core/Source/core/bridge/platform/core_side_in_platform.cpp index 34d1e49d29..710ce35c0d 100644 --- a/weex_core/Source/core/bridge/platform/core_side_in_platform.cpp +++ b/weex_core/Source/core/bridge/platform/core_side_in_platform.cpp @@ -388,10 +388,9 @@ int CoreSideInPlatform::RefreshInstance( }} } }; - - auto final_json_str = final_json.dump().c_str(); - auto utf16_key = weex::base::to_utf16(const_cast(final_json_str), - strlen(final_json_str)); + std::string out = final_json.dump(); + auto utf16_key = weex::base::to_utf16(const_cast(out.c_str()), + out.length()); args->value.string = genWeexString( reinterpret_cast(utf16_key.c_str()), utf16_key.size()); msg.push_back(args);