Repository: incubator-weex Updated Branches: refs/heads/master 1feea4c19 -> 27c558b0b
* [Android] fix nullPoint Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/08dc90d8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/08dc90d8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/08dc90d8 Branch: refs/heads/master Commit: 08dc90d8b3ac6a2c4c581c7ec8b627f36ae2f81c Parents: bb29077 Author: zhongcang <qh438406...@gmail.com> Authored: Tue Apr 10 15:01:05 2018 +0800 Committer: zhongcang <qh438406...@gmail.com> Committed: Tue Apr 10 15:01:05 2018 +0800 ---------------------------------------------------------------------- .../com/taobao/weex/bridge/WXBridgeManager.java | 9 ++++++-- .../taobao/weex/ui/module/WXTimerModule.java | 22 ++++++-------------- 2 files changed, 13 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08dc90d8/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java index ffede54..0f9d43f 100644 --- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java @@ -58,6 +58,7 @@ import com.taobao.weex.dom.action.Actions; import com.taobao.weex.dom.action.TraceableAction; import com.taobao.weex.tracing.WXTracing; import com.taobao.weex.ui.WXComponentRegistry; +import com.taobao.weex.ui.component.WXComponent; import com.taobao.weex.utils.WXExceptionUtils; import com.taobao.weex.utils.WXFileUtils; import com.taobao.weex.utils.WXJsonUtils; @@ -2510,7 +2511,7 @@ public void invokeDestoryInstance(String instanceId, String namespace, String fu if (checkEmptyScreen(instance)){ if (WXEnvironment.isApkDebugable()){ - WXLogUtils.d("render error 4 js error !"); + WXLogUtils.e("render error 4 js error !"); } WXExceptionUtils.commitCriticalExceptionRT(exceptionId, WXErrorCode.WX_RENDER_ERR_JS_RUNTIME, function, @@ -2529,8 +2530,12 @@ public void invokeDestoryInstance(String instanceId, String namespace, String fu if (null == instance || instance.isDestroy()){ return false; } + WXComponent rootComponent = instance.getRootComponent(); + if (null == rootComponent) { + return true; + } - View rootView = instance.getRootView(); + View rootView = rootComponent.getRealView(); if (null == rootView){ return true; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/08dc90d8/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java index 8745b54..2a29a29 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java @@ -70,14 +70,9 @@ public class WXTimerModule extends WXModule implements Destroyable, Handler.Call public void setTimeout(@IntRange(from = 1) int funcId, @FloatRange(from = 0) float delay) { if(mWXSDKInstance != null) { postOrHoldMessage(MODULE_TIMEOUT, funcId, (int) delay, Integer.parseInt(mWXSDKInstance.getInstanceId())); - WXSDKManager.getInstance().postOnUiThread(new Runnable() { - @Override - public void run() { - if (null != mWXSDKInstance){ - mWXSDKInstance.getWXPerformance().timerInvokeCount++; - } - } - },0); + if (null != mWXSDKInstance.getWXPerformance()){ + mWXSDKInstance.getWXPerformance().timerInvokeCount++; + } } } @@ -85,14 +80,9 @@ public class WXTimerModule extends WXModule implements Destroyable, Handler.Call public void setInterval(@IntRange(from = 1) int funcId, @FloatRange(from = 0) float interval) { if(mWXSDKInstance != null) { postOrHoldMessage(MODULE_INTERVAL, funcId, (int) interval, Integer.parseInt(mWXSDKInstance.getInstanceId())); - WXSDKManager.getInstance().postOnUiThread(new Runnable() { - @Override - public void run() { - if (null != mWXSDKInstance){ - mWXSDKInstance.getWXPerformance().timerInvokeCount++; - } - } - },0); + if (null != mWXSDKInstance.getWXPerformance()){ + mWXSDKInstance.getWXPerformance().timerInvokeCount++; + } } }