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

Merge Release/20190925 into master #3057

Closed
wants to merge 5 commits into from

Conversation

YorkShen
Copy link
Contributor

@YorkShen YorkShen commented Dec 5, 2019

Brief Description of the PR

Checklist

  • Demo:
  • Documentation:

东煜 and others added 4 commits December 2, 2019 21:30
Extract So from apk
Support Tmall preInstall

Extract So from apk

See merge request !609815
…nc sequence

Link: https://code.aone.alibaba-inc.com/weex/weex/codereview/2180577

* Merge jsc code

* Add JSAction unit Method

* Sandbox & exception & delete Done

* Refine Code & Remove log

* Refine Code

* Add JSEngine callBack

* Add JSEngine callBack

* Merge branch 'feature/mergeJavaEnv' of gitlab.alibaba-inc.com:weex/weex into feature/mergeJavaEnv

# Conflicts:
#	android/sdk/src/main/java/com/taobao/weex/jsEngine/CallBackCode.java

* Make jsBiz public

* set mExceptionTransfer == null if destroy

* do not set ptr null for jsc

* 防止混淆

* Merge branch 'feature/javaEnvGray' into feature/gray-2019-12-02

* Let WxInstance know wether Page'sRenderObject is dirty to control vsync sequence

* Revert x86 so
@weex-bot
Copy link

weex-bot commented Dec 5, 2019

Fails
🚫

Code file weex_core/Source/base/android/jniprebuild/jniheader/JSContext_jni.h has cn source code.

🚫

Code file weex_core/Source/android/wrap/js_processer.h has cn source code.

🚫

Code file weex_core/Source/android/wrap/js_context.h has cn source code.

🚫

Code file weex_core/Source/android/jsengine/task/impl/js_action_task.h has cn source code.

🚫

Code file weex_core/Source/android/jsengine/object/js_action.h has cn source code.

Warnings
⚠️ Potential BREAK CHANGE. Modify public in android/sdk/src/main/java/org/apache/weex/WXEnvironment.java without metion it in commit message. You'd better add '@notdanger' in your commit log.
⚠️ No Changelog changes! - Can you add a Changelog? To do so,append your changes to the changelog.md
⚠️ Current pr not bind the milestone
⚠️ If your PR is about fixing a bug excluding crash the code,you should add the demo link in the PR description. Demo link: http://dotwe.org/vue
⚠️ If you update the code, maybe you should update the documentation and add the documentation link in the PR description. here is the guide about how to contribute documentation: https://github.com/apache/incubator-weex/blob/master/CONTRIBUTING.md#contribute-code-or-document

Generated by 🚫 dangerJS against e7d7468

@weex-bot
Copy link

weex-bot commented Dec 5, 2019

Fails
🚫 AndroidLint Result
🚫

HashMap can be replaced with SparseArray

../../src/main/java/org/apache/weex/jsEngine/JSEngine.java:91: Use new android.support.v4.util.LongSparseArray(...) instead for better performance
  88             next.getValue().error(ERROR_JSENGINE_CRASHED);
  89         }
  90 
  91         HashMap<Long, JSContext> map = new HashMap<>(mCreatedJSContext);                            
  92         mCreatedJSContext.clear();
  93         for (Map.Entry<Long, JSContext> next : map.entrySet()) {
  94             JSContext value = next.getValue();

../../src/main/java/org/apache/weex/jsEngine/JSEngine.java:91: Use new android.support.v4.util.LongSparseArray(...) instead for better performance


88 next.getValue().error(ERROR_JSENGINE_CRASHED);
89 }
90
91 HashMap<Long, JSContext> map = new HashMap<>(mCreatedJSContext);                            
92 mCreatedJSContext.clear();
93 for (Map.Entry<Long, JSContext> next : map.entrySet()) {
94 JSContext value = next.getValue();

For maps where the keys are of type integer, it's typically more efficient to use the Android SparseArray API. This check identifies scenarios where you might want to consider using SparseArray instead of HashMap for better performance.

This is particularly useful when the value types are primitives like ints, where you can use SparseIntArray and avoid auto-boxing the values from int to Integer.

If you need to construct a HashMap because you need to call an API outside of your control which requires a Map, you can suppress this warning using for example the @SuppressLint annotation.
To suppress this error, use the issue id "UseSparseArrays" as explained in the Suppressing Warnings and Errors section.

UseSparseArrays Performance Warning Priority 4/10
Explain Dismiss
🚫 AndroidLint Result
🚫

HashMap can be replaced with SparseArray

../../src/main/java/org/apache/weex/jsEngine/JSEngine.java:91: Use new android.support.v4.util.LongSparseArray(...) instead for better performance
  88             next.getValue().error(ERROR_JSENGINE_CRASHED);
  89         }
  90 
  91         HashMap<Long, JSContext> map = new HashMap<>(mCreatedJSContext);                            
  92         mCreatedJSContext.clear();
  93         for (Map.Entry<Long, JSContext> next : map.entrySet()) {
  94             JSContext value = next.getValue();

../../src/main/java/org/apache/weex/jsEngine/JSEngine.java:91: Use new android.support.v4.util.LongSparseArray(...) instead for better performance


88 next.getValue().error(ERROR_JSENGINE_CRASHED);
89 }
90
91 HashMap<Long, JSContext> map = new HashMap<>(mCreatedJSContext);                            
92 mCreatedJSContext.clear();
93 for (Map.Entry<Long, JSContext> next : map.entrySet()) {
94 JSContext value = next.getValue();

For maps where the keys are of type integer, it's typically more efficient to use the Android SparseArray API. This check identifies scenarios where you might want to consider using SparseArray instead of HashMap for better performance.

This is particularly useful when the value types are primitives like ints, where you can use SparseIntArray and avoid auto-boxing the values from int to Integer.

If you need to construct a HashMap because you need to call an API outside of your control which requires a Map, you can suppress this warning using for example the @SuppressLint annotation.
To suppress this error, use the issue id "UseSparseArrays" as explained in the Suppressing Warnings and Errors section.

UseSparseArrays Performance Warning Priority 4/10
Explain Dismiss

Generated by 🚫 dangerJS against e7d7468

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants