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 2019/01/10 09:07:46 UTC

[incubator-weex] branch master updated: * [Android] Fix storage problem due to multiple thread (#2010)

This is an automated email from the ASF dual-hosted git repository.

kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new 44cff24  * [Android] Fix storage problem due to multiple thread (#2010)
44cff24 is described below

commit 44cff24887a62ed67c554d885e6526eaa1725880
Author: lvfen <28...@qq.com>
AuthorDate: Thu Jan 10 17:07:40 2019 +0800

    * [Android] Fix storage problem due to multiple thread (#2010)
---
 .../java/com/taobao/weex/appfram/storage/DefaultWXStorage.java     | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/android/sdk/src/main/java/com/taobao/weex/appfram/storage/DefaultWXStorage.java b/android/sdk/src/main/java/com/taobao/weex/appfram/storage/DefaultWXStorage.java
index 0ffc230..cc76ad5 100644
--- a/android/sdk/src/main/java/com/taobao/weex/appfram/storage/DefaultWXStorage.java
+++ b/android/sdk/src/main/java/com/taobao/weex/appfram/storage/DefaultWXStorage.java
@@ -143,20 +143,21 @@ public class DefaultWXStorage implements IWXStorageAdapter {
 
     @Override
     public void close() {
+        final ExecutorService needCloseService = mExecutorService;
         execute(new Runnable() {
             @Override
             public void run() {
                 try {
                     mDatabaseSupplier.closeDatabase();
-                    if (mExecutorService != null) {
-                        mExecutorService.shutdown();
-                        mExecutorService = null;
+                    if (needCloseService != null) {
+                        needCloseService.shutdown();
                     }
                 } catch (Exception e) {
                     WXLogUtils.e(WXSQLiteOpenHelper.TAG_STORAGE, e.getMessage());
                 }
             }
         });
+        mExecutorService = null;
     }
 
     private boolean performSetItem(String key, String value, boolean isPersistent, boolean allowRetryWhenFull) {