diff --git a/android/sdk/src/main/java/org/apache/weex/jsEngine/JSEngine.java b/android/sdk/src/main/java/org/apache/weex/jsEngine/JSEngine.java
index 86b8d63..d5a8c31 100644
--- a/android/sdk/src/main/java/org/apache/weex/jsEngine/JSEngine.java
+++ b/android/sdk/src/main/java/org/apache/weex/jsEngine/JSEngine.java
@@ -18,19 +18,17 @@
  */
 package org.apache.weex.jsEngine;
 
+import static org.apache.weex.jsEngine.CallBackCode.ERROR_JSENGINE_CRASHED;
+import static org.apache.weex.jsEngine.CallBackCode.JSENGINE_INIT_FINISH;
+
+import android.annotation.SuppressLint;
 import android.support.annotation.Nullable;
-import android.util.Log;
-
-import org.apache.weex.WXSDKEngine;
-import org.apache.weex.utils.WXLogUtils;
-
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-
-import static org.apache.weex.jsEngine.CallBackCode.ERROR_JSENGINE_CRASHED;
-import static org.apache.weex.jsEngine.CallBackCode.JSENGINE_INIT_FINISH;
+import org.apache.weex.WXSDKEngine;
+import org.apache.weex.utils.WXLogUtils;
 
 public class JSEngine implements Serializable {
     private static JSEngine mJsEngine = null;
@@ -83,6 +81,7 @@
         }
     }
 
+    @SuppressLint("UseSparseArrays")
     public void engineCrashed() {
         for (Map.Entry<JSBiz, EnvCallback> next : mEnvCallbacks.entrySet()) {
             next.getValue().error(ERROR_JSENGINE_CRASHED);
diff --git a/weex_core/Source/android/jsengine/object/js_action.cpp b/weex_core/Source/android/jsengine/object/js_action.cpp
index e5356e6..f9f8410 100644
--- a/weex_core/Source/android/jsengine/object/js_action.cpp
+++ b/weex_core/Source/android/jsengine/object/js_action.cpp
@@ -16,9 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-10.
-//
+
 #include "js_action.h"
 #include "weex_env.h"
 
diff --git a/weex_core/Source/android/jsengine/object/js_action.h b/weex_core/Source/android/jsengine/object/js_action.h
index 4e954ad..4cd18ca 100644
--- a/weex_core/Source/android/jsengine/object/js_action.h
+++ b/weex_core/Source/android/jsengine/object/js_action.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-10.
-//
 
 #ifndef WEEX_PROJECT_RUN_JS_NOT_FOR_WEEX_H
 #define WEEX_PROJECT_RUN_JS_NOT_FOR_WEEX_H
diff --git a/weex_core/Source/android/jsengine/task/impl/js_action_task.cpp b/weex_core/Source/android/jsengine/task/impl/js_action_task.cpp
index b8a156b..1c7c940 100644
--- a/weex_core/Source/android/jsengine/task/impl/js_action_task.cpp
+++ b/weex_core/Source/android/jsengine/task/impl/js_action_task.cpp
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #include "object/weex_env.h"
 #include "js_action_task.h"
diff --git a/weex_core/Source/android/jsengine/task/impl/js_action_task.h b/weex_core/Source/android/jsengine/task/impl/js_action_task.h
index 1289bf1..b670cfe 100644
--- a/weex_core/Source/android/jsengine/task/impl/js_action_task.h
+++ b/weex_core/Source/android/jsengine/task/impl/js_action_task.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #ifndef WEEX_PROJECT_JS_ACTION_TASK_H
 #define WEEX_PROJECT_JS_ACTION_TASK_H
diff --git a/weex_core/Source/android/wrap/js_context.cpp b/weex_core/Source/android/wrap/js_context.cpp
index 4226341..ae88aaf 100644
--- a/weex_core/Source/android/wrap/js_context.cpp
+++ b/weex_core/Source/android/wrap/js_context.cpp
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #include <android/base/string/scoped_jstring_utf8.h>
 #include <android/base/string/string_utils.h>
diff --git a/weex_core/Source/android/wrap/js_context.h b/weex_core/Source/android/wrap/js_context.h
index 9196b01..8df1a36 100644
--- a/weex_core/Source/android/wrap/js_context.h
+++ b/weex_core/Source/android/wrap/js_context.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #ifndef WEEX_PROJECT_JS_CONTEXT_H
 #define WEEX_PROJECT_JS_CONTEXT_H
diff --git a/weex_core/Source/android/wrap/js_processer.cpp b/weex_core/Source/android/wrap/js_processer.cpp
index c94752d..be54d29 100644
--- a/weex_core/Source/android/wrap/js_processer.cpp
+++ b/weex_core/Source/android/wrap/js_processer.cpp
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-10-23.
-//
 
 #include "js_processer.h"
 namespace android {
diff --git a/weex_core/Source/android/wrap/js_processer.h b/weex_core/Source/android/wrap/js_processer.h
index 697e853..1eb61bc 100644
--- a/weex_core/Source/android/wrap/js_processer.h
+++ b/weex_core/Source/android/wrap/js_processer.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-10-23.
-//
 
 #ifndef WEEX_PROJECT_JS_PROCESSER_H
 #define WEEX_PROJECT_JS_PROCESSER_H
diff --git a/weex_core/Source/base/android/jniprebuild/jniheader/JSContext_jni.h b/weex_core/Source/base/android/jniprebuild/jniheader/JSContext_jni.h
index 18e03d7..6fc59e2 100644
--- a/weex_core/Source/base/android/jniprebuild/jniheader/JSContext_jni.h
+++ b/weex_core/Source/base/android/jniprebuild/jniheader/JSContext_jni.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #ifndef WEEX_PROJECT_JSCONTEXT_JNI_H
 #define WEEX_PROJECT_JSCONTEXT_JNI_H
diff --git a/weex_core/Source/js_runtime/weex/task/impl/js_action_task.cpp b/weex_core/Source/js_runtime/weex/task/impl/js_action_task.cpp
index 7ebaf9c..cae9b85 100644
--- a/weex_core/Source/js_runtime/weex/task/impl/js_action_task.cpp
+++ b/weex_core/Source/js_runtime/weex/task/impl/js_action_task.cpp
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #include "android/jsengine/object/weex_env.h"
 #include "js_action_task.h"
diff --git a/weex_core/Source/js_runtime/weex/task/impl/js_action_task.h b/weex_core/Source/js_runtime/weex/task/impl/js_action_task.h
index 8b30b6b..602460f 100644
--- a/weex_core/Source/js_runtime/weex/task/impl/js_action_task.h
+++ b/weex_core/Source/js_runtime/weex/task/impl/js_action_task.h
@@ -16,9 +16,6 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-//
-// Created by 董亚运 on 2019-08-18.
-//
 
 #ifndef WEEX_PROJECT_JS_ACTION_TASK_H
 #define WEEX_PROJECT_JS_ACTION_TASK_H
