You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/02/24 09:44:50 UTC
[1/3] incubator-weex git commit: [WEEX-216][android] WXAnimation Fix
Memory Leak and performance improve
Repository: incubator-weex
Updated Branches:
refs/heads/master 95e16d870 -> a553c194a
[WEEX-216][android] WXAnimation Fix Memory Leak and performance improve
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4dded272
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4dded272
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4dded272
Branch: refs/heads/master
Commit: 4dded272b79f9b8bb8e32ae88899fcee878fc24c
Parents: de40fe1
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Sun Feb 11 16:45:44 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Sun Feb 11 17:00:29 2018 +0800
----------------------------------------------------------------------
android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java | 2 +-
.../src/main/java/com/taobao/weex/dom/action/Actions.java | 2 +-
.../java/com/taobao/weex/dom/action/AnimationAction.java | 8 ++++----
.../java/com/taobao/weex/ui/animation/WXAnimationModule.java | 6 ++++--
.../main/java/com/taobao/weex/utils/WXReflectionUtils.java | 8 ++++++++
.../com/taobao/weex/ui/animation/WXAnimationModuleTest.java | 5 +++--
6 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
index 7069729..f593986 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java
@@ -312,7 +312,7 @@ public class WXSDKEngine {
registerModule("modal", WXModalUIModule.class, false);
registerModule("instanceWrap", WXInstanceWrap.class, true);
- registerModule("animation", WXAnimationModule.class, true);
+ registerModule("animation", WXAnimationModule.class, false);
registerModule("webview", WXWebViewModule.class, true);
registerModule("navigator", WXNavigatorModule.class);
registerModule("stream", WXStreamModule.class);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
index 9f60765..3f464bc 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/Actions.java
@@ -206,7 +206,7 @@ public class Actions {
}
- public static DOMAction getAnimationAction(@NonNull final String ref, @NonNull String animation,
+ public static DOMAction getAnimationAction(@NonNull final String ref, @NonNull JSONObject animation,
@Nullable final String callBack){
return new AnimationAction(ref, animation, callBack);
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
index f08b135..fa2246f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
+++ b/android/sdk/src/main/java/com/taobao/weex/dom/action/AnimationAction.java
@@ -79,7 +79,7 @@ class AnimationAction implements DOMAction, RenderAction {
@Nullable
private
- final String animation;
+ final JSONObject animation;
@Nullable
private
@@ -89,7 +89,7 @@ class AnimationAction implements DOMAction, RenderAction {
private
WXAnimationBean mAnimationBean;
- AnimationAction(@NonNull final String ref, @Nullable String animation,
+ AnimationAction(@NonNull final String ref, @Nullable JSONObject animation,
@Nullable final String callBack) {
this.ref = ref;
this.animation = animation;
@@ -113,9 +113,9 @@ class AnimationAction implements DOMAction, RenderAction {
try {
WXDomObject domObject;
if (!context.isDestory() &&
- !TextUtils.isEmpty(animation) &&
+ animation != null &&
(domObject = context.getDomByRef(ref)) != null) {
- WXAnimationBean animationBean = JSONObject.parseObject(animation, WXAnimationBean.class);
+ WXAnimationBean animationBean = JSONObject.toJavaObject(animation, WXAnimationBean.class);
if (animationBean != null && animationBean.styles != null) {
int width = (int) domObject.getLayoutWidth();
int height = (int) domObject.getLayoutHeight();
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
index 43e4b90..3b15347 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/animation/WXAnimationModule.java
@@ -21,6 +21,7 @@ package com.taobao.weex.ui.animation;
import android.support.annotation.Nullable;
import android.text.TextUtils;
+import com.alibaba.fastjson.JSONObject;
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.WXSDKManager;
import com.taobao.weex.annotation.JSMethod;
@@ -31,13 +32,14 @@ import com.taobao.weex.dom.WXDomHandler;
import com.taobao.weex.dom.action.Actions;
import com.taobao.weex.ui.component.WXComponent;
+
import static com.taobao.weex.dom.action.Actions.getAnimationAction;
public class WXAnimationModule extends WXModule {
@JSMethod
- public void transition(@Nullable String ref, @Nullable String animation, @Nullable String callBack) {
- if (!TextUtils.isEmpty(ref) && !TextUtils.isEmpty(animation) && mWXSDKInstance != null) {
+ public void transition(@Nullable String ref, @Nullable JSONObject animation, @Nullable String callBack) {
+ if (!TextUtils.isEmpty(ref) && animation != null && mWXSDKInstance != null) {
DOMAction animationActions = getAnimationAction(ref, animation, callBack);
//Due to animation module rely on the result of the css-layout and the batch mechanism of
//css-layout, the animation.transition must be delayed the batch time.
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
index 5bef6d3..1e424e5 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
@@ -31,6 +31,14 @@ import java.math.BigDecimal;
public class WXReflectionUtils {
public static Object parseArgument(Type paramClazz, Object value) {
+ if(value != null){
+ if(value.getClass() == paramClazz){
+ return value;
+ }
+ if(value.getClass().isAssignableFrom(value.getClass())){
+ return value;
+ }
+ }
if (paramClazz == String.class) {
return value instanceof String ? value : JSON.toJSONString(value);
} else if (paramClazz == int.class) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4dded272/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java b/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
index 7dd4858..52e52fa 100644
--- a/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/ui/animation/WXAnimationModuleTest.java
@@ -18,6 +18,7 @@
*/
package com.taobao.weex.ui.animation;
+import com.alibaba.fastjson.JSONObject;
import com.taobao.weappplus_sdk.BuildConfig;
import com.taobao.weex.WXSDKInstanceTest;
@@ -50,8 +51,8 @@ public class WXAnimationModuleTest {
@Test
public void testTransition() throws Exception {
- module.transition("","","");
- module.transition("test","test","");
+ module.transition("", JSONObject.parseObject("{}"),"");
+ module.transition("test", JSONObject.parseObject("{\"test\":\"test\"}"),"");
}
@Test
[2/3] incubator-weex git commit: [WEEX-216][android] WXAnimation Fix
Memory Leak and performance improve add more support convert args
Posted by mi...@apache.org.
[WEEX-216][android] WXAnimation Fix Memory Leak and performance improve add more support convert args
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c3bd4623
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c3bd4623
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c3bd4623
Branch: refs/heads/master
Commit: c3bd46238fb3b08e8c70c1efb2944df79ced4af2
Parents: 4dded27
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Fri Feb 23 17:07:41 2018 +0800
Committer: jianbai.gbj <ji...@alibaba-inc.com>
Committed: Fri Feb 23 17:07:41 2018 +0800
----------------------------------------------------------------------
.../main/java/com/taobao/weex/utils/WXReflectionUtils.java | 6 ++++--
.../java/com/taobao/weex/utils/WXReflectionUtilsTest.java | 9 +++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c3bd4623/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
index 1e424e5..a3dff5e 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXReflectionUtils.java
@@ -35,8 +35,10 @@ public class WXReflectionUtils {
if(value.getClass() == paramClazz){
return value;
}
- if(value.getClass().isAssignableFrom(value.getClass())){
- return value;
+ if(paramClazz instanceof Class){
+ if( ((Class<?>) paramClazz).isAssignableFrom(value.getClass())) {
+ return value;
+ }
}
}
if (paramClazz == String.class) {
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c3bd4623/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java b/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
index 18df379..58cfc46 100644
--- a/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/utils/WXReflectionUtilsTest.java
@@ -47,9 +47,14 @@ public class WXReflectionUtilsTest {
@Test
public void testParseArgument() throws Exception {
+
+
Object value = WXReflectionUtils.parseArgument(String.class,"dkdkdkdk");
assertTrue(value instanceof String);
+ value = WXReflectionUtils.parseArgument(int.class,123444);
+ assertTrue(value instanceof Integer);
+
value = WXReflectionUtils.parseArgument(long.class,"123444");
assertTrue(value instanceof Long);
@@ -70,6 +75,10 @@ public class WXReflectionUtilsTest {
JSONObject j = new JSONObject();
j.put("a","b");
j.put("c",23);
+
+ value = WXReflectionUtils.parseArgument(Map.class,j);
+ assertTrue(value == j);
+
value = WXReflectionUtils.parseArgument(String.class,j);
assertTrue(value instanceof String);
[3/3] incubator-weex git commit: Merge remote-tracking branch
'upstream/pr1026' into apache-master
Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1026' into apache-master
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a553c194
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a553c194
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a553c194
Branch: refs/heads/master
Commit: a553c194a68cd8c2fc9c80f87390f8a3e8e592c4
Parents: 95e16d8 c3bd462
Author: misakuo <mi...@apache.org>
Authored: Sat Feb 24 17:44:31 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Feb 24 17:44:31 2018 +0800
----------------------------------------------------------------------
.../sdk/src/main/java/com/taobao/weex/WXSDKEngine.java | 2 +-
.../src/main/java/com/taobao/weex/dom/action/Actions.java | 2 +-
.../java/com/taobao/weex/dom/action/AnimationAction.java | 8 ++++----
.../com/taobao/weex/ui/animation/WXAnimationModule.java | 6 ++++--
.../java/com/taobao/weex/utils/WXReflectionUtils.java | 10 ++++++++++
.../taobao/weex/ui/animation/WXAnimationModuleTest.java | 5 +++--
.../java/com/taobao/weex/utils/WXReflectionUtilsTest.java | 9 +++++++++
7 files changed, 32 insertions(+), 10 deletions(-)
----------------------------------------------------------------------