You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2018/05/07 07:52:44 UTC
[11/52] [abbrv] incubator-weex git commit: *[Core] fix page close won’t clean msg in handler.
*[Core] fix page close won’t clean msg in handler.
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/413b065b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/413b065b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/413b065b
Branch: refs/heads/master
Commit: 413b065b5aa9988bd14c2afd00903ad6d56f1d30
Parents: 9e1455d
Author: 驱影 <ji...@alibaba-inc.com>
Authored: Thu Apr 26 11:36:03 2018 +0800
Committer: YorkShen <sh...@gmail.com>
Committed: Mon May 7 15:52:07 2018 +0800
----------------------------------------------------------------------
.../src/main/java/com/taobao/weex/ui/WXRenderHandler.java | 3 ++-
.../src/main/java/com/taobao/weex/ui/WXRenderManager.java | 8 ++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/413b065b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderHandler.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderHandler.java b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderHandler.java
index 99cba05..2bfb685 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderHandler.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderHandler.java
@@ -30,7 +30,8 @@ class WXRenderHandler extends Handler {
public final boolean post(String instanceId, Runnable r) {
Message msg = Message.obtain(this, r);
- msg.obj = instanceId.hashCode();
+ // Use what to match runnable. Make sure don't override callback method.
+ msg.what = instanceId.hashCode();
return sendMessageDelayed(msg, 0);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/413b065b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java
index 143265c..e91fb08 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java
@@ -99,8 +99,12 @@ public class WXRenderManager {
if (statement != null) {
statement.destroy();
}
- final Object token = instanceId == null ? null : instanceId.hashCode();
- mWXRenderHandler.removeCallbacksAndMessages(token);
+ if(instanceId == null) {
+ mWXRenderHandler.removeCallbacksAndMessages(null);
+ } else {
+ // use hashCode to match message's what.
+ mWXRenderHandler.removeMessages(instanceId.hashCode());
+ }
}
public void postGraphicAction(final String instanceId, final BasicGraphicAction action) {