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

Commit c5662dd

Browse files
lucky-chenYorkShen
authored andcommitted
* [Android] rm unnecessary exception,just loge (#2029)
* [Android] fix multithread crash,when instance destroy in ui,but task still post from jsThread
1 parent ce669f5 commit c5662dd

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

android/sdk/src/main/java/com/taobao/weex/bridge/NativeInvokeHelper.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@
2323
import com.alibaba.fastjson.JSON;
2424
import com.alibaba.fastjson.JSONArray;
2525
import com.alibaba.fastjson.JSONObject;
26+
27+
import com.taobao.weex.WXSDKInstance;
2628
import com.taobao.weex.WXSDKManager;
29+
import com.taobao.weex.common.WXModule;
2730
import com.taobao.weex.performance.WXAnalyzerDataTransfer;
31+
import com.taobao.weex.utils.WXLogUtils;
2832
import com.taobao.weex.utils.WXReflectionUtils;
2933

3034
import java.lang.reflect.Type;
@@ -67,9 +71,13 @@ public void onInvokeSuccess() {
6771
public void run() {
6872
if (invoker != null) {
6973
try {
74+
WXSDKInstance targetInstance = WXSDKManager.getInstance().getSDKInstance(mInstanceId);
75+
if (null == targetInstance || targetInstance.isDestroy()){
76+
return;
77+
}
7078
invoker.invoke(target, params);
7179
} catch (Exception e) {
72-
throw new RuntimeException(target + "Invoker " + invoker.toString(), e);
80+
WXLogUtils.e("NativeInvokeHelper",target + " Invoker " + invoker.toString()+" exception:"+e);
7381
}
7482
}
7583
}

android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -436,9 +436,6 @@ public Object callModuleMethod(String instanceId, String moduleStr, String metho
436436
ext.put("methodName", methodStr);
437437
ext.put("args", args.toJSONString());
438438
WXLogUtils.e("[WXBridgeManager] callNative : numberFormatException when parsing string to numbers in args", ext.toString());
439-
WXExceptionUtils.commitCriticalExceptionRT(instanceId,
440-
WXErrorCode.WX_KEY_EXCEPTION_INVOKE_BRIDGE, "callNative",
441-
WXLogUtils.getStackTrace(e) , ext);
442439
return null;
443440
}
444441
}
@@ -598,9 +595,6 @@ public Object callNativeModule(String instanceId, String module, String method,
598595
} catch (Exception e) {
599596
String err = "[WXBridgeManager] callNativeModule exception: " + WXLogUtils.getStackTrace(e);
600597
WXLogUtils.e(err);
601-
WXExceptionUtils.commitCriticalExceptionRT(instanceId,
602-
WXErrorCode.WX_KEY_EXCEPTION_INVOKE_BRIDGE, "callNativeModule",
603-
err, null);
604598
}
605599

606600
return null;

android/sdk/src/main/java/com/taobao/weex/bridge/WXModuleManager.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -173,13 +173,6 @@ static Object callModuleMethod(final String instanceId, String moduleStr, String
173173
return null;
174174
}
175175
} catch (Exception e) {
176-
WXExceptionUtils.commitCriticalExceptionRT(instanceId,
177-
WXErrorCode.WX_KEY_EXCEPTION_INVOKE_REGISTER_CONTENT_FAILED,
178-
"callModuleMethod",
179-
WXErrorCode.WX_KEY_EXCEPTION_INVOKE_REGISTER_CONTENT_FAILED.getErrorMsg()
180-
+ "callModuleMethod >>> invoke module:" + moduleStr + ", method:" + methodStr + " failed. "
181-
+ WXLogUtils.getStackTrace(e),
182-
null);
183176
WXLogUtils.e("callModuleMethod >>> invoke module:" + moduleStr + ", method:" + methodStr + " failed. ", e);
184177
return null;
185178
} finally {

0 commit comments

Comments
 (0)