Skip to content
This repository was archived by the owner on Jul 14, 2021. It is now read-only.

Commit d26517d

Browse files
committed
Update ArrayMap to ConcurrentHashMap.
1 parent 10f45e9 commit d26517d

File tree

16 files changed

+53
-87
lines changed

16 files changed

+53
-87
lines changed

app/src/main/java/com/tmall/wireless/virtualviewdemo/vs/StringSupportImp.java

+6-11
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,13 @@
2424

2525
package com.tmall.wireless.virtualviewdemo.vs;
2626

27-
import android.support.v4.util.ArrayMap;
28-
import android.text.TextUtils;
29-
3027
import android.util.Log;
28+
3129
import com.libra.expr.common.StringSupport;
3230
import com.libra.virtualview.common.StringBase;
33-
import com.tmall.wireless.vaf.virtualview.loader.CodeReader;
3431

35-
import java.util.ArrayList;
36-
import java.util.HashMap;
37-
import java.util.List;
3832
import java.util.Map;
33+
import java.util.concurrent.ConcurrentHashMap;
3934

4035
/**
4136
* Created by gujicheng on 17/3/27.
@@ -45,13 +40,13 @@ public class StringSupportImp extends StringBase implements StringSupport {
4540

4641
final private static String TAG = "StringSupportImp_TMTEST";
4742

48-
private Map<String, Integer> mString2Index = new ArrayMap<>();
43+
private Map<String, Integer> mString2Index = new ConcurrentHashMap<>();
4944

50-
private Map<Integer, String> mIndex2String = new ArrayMap<>();
45+
private Map<Integer, String> mIndex2String = new ConcurrentHashMap<>();
5146

52-
private Map<String, Integer> mSysString2Index = new ArrayMap<>();
47+
private Map<String, Integer> mSysString2Index = new ConcurrentHashMap<>();
5348

54-
private Map<Integer, String> mSysIndex2String = new ArrayMap<>();
49+
private Map<Integer, String> mSysIndex2String = new ConcurrentHashMap<>();
5550

5651
public StringSupportImp() {
5752
for (int i = 0; i < StringBase.STR_ID_SYS_KEY_COUNT; ++i) {

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ org.gradle.jvmargs=-Xmx2048m
4545
GROUP=com.alibaba.android
4646
ARTIFACT=virtualview
4747
VERSION=1
48-
VERSION_NAME=1.3.8.3
48+
VERSION_NAME=1.3.8.4
4949
PACKAGING_TYPE=aar
5050
systemProp.compileSdkVersion=26
5151
systemProp.targetSdkVersion=26

virtualview/src/main/java/com/tmall/wireless/vaf/expr/engine/NativeObjectManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
package com.tmall.wireless.vaf.expr.engine;
2626

27-
import android.support.v4.util.ArrayMap;
2827
import android.text.TextUtils;
2928
import android.util.Log;
3029

@@ -37,6 +36,7 @@
3736
import java.util.ArrayList;
3837
import java.util.List;
3938
import java.util.Map;
39+
import java.util.concurrent.ConcurrentHashMap;
4040

4141
/**
4242
* Created by gujicheng on 16/9/12.
@@ -45,7 +45,7 @@ public class NativeObjectManager {
4545
private final static String TAG = "NObjManager_TMTEST";
4646

4747
private List<ViewBase> mViews = new ArrayList<>();
48-
private Map<String, Object> mNativeObjects = new ArrayMap<>();
48+
private Map<String, Object> mNativeObjects = new ConcurrentHashMap<>();
4949
private StringSupport mStringLoader;
5050

5151
public void setStringManager(StringSupport sm) {

virtualview/src/main/java/com/tmall/wireless/vaf/framework/ViewManager.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@
2626

2727
import java.util.LinkedList;
2828
import java.util.List;
29+
import java.util.Map;
30+
import java.util.concurrent.ConcurrentHashMap;
2931

3032
import android.content.Context;
31-
import android.support.v4.util.ArrayMap;
3233
import android.text.TextUtils;
3334
import android.util.Log;
3435
import android.util.SparseArray;
36+
3537
import com.tmall.wireless.vaf.virtualview.ViewFactory;
3638
import com.tmall.wireless.vaf.virtualview.core.Layout;
3739
import com.tmall.wireless.vaf.virtualview.core.ViewBase;
@@ -46,7 +48,7 @@ public class ViewManager {
4648

4749
private ViewFactory mViewFactory = new ViewFactory();
4850

49-
private ArrayMap<String, List<ViewBase>> mViewCache = new ArrayMap<>();
51+
private ConcurrentHashMap<String, List<ViewBase>> mViewCache = new ConcurrentHashMap<>();
5052
private SparseArray<ViewBase> mUuidContainers = new SparseArray<>();
5153

5254
private VafContext mAppContext;
@@ -81,10 +83,10 @@ public ViewBase getViewFromUuid(int uuid) {
8183
}
8284

8385
public void destroy() {
84-
for (int i = 0; i < mViewCache.size(); ++i) {
85-
List<ViewBase> viewBases = mViewCache.valueAt(i);
86+
for (Map.Entry<String, List<ViewBase>> entry : mViewCache.entrySet()) {
87+
List<ViewBase> viewBases = entry.getValue();
8688
if (null != viewBases) {
87-
for ( int j = 0; j < viewBases.size(); ++j) {
89+
for (int j = 0; j < viewBases.size(); ++j) {
8890
ViewBase viewBase = viewBases.get(j);
8991
viewBase.destroy();
9092
ViewCache viewCache = viewBase.getViewCache();

virtualview/src/main/java/com/tmall/wireless/vaf/framework/cm/ComContainerTypeMap.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424

2525
package com.tmall.wireless.vaf.framework.cm;
2626

27-
import android.support.v4.util.ArrayMap;
27+
import java.util.concurrent.ConcurrentHashMap;
2828

2929
/**
3030
* Created by gujicheng on 17/4/10.
3131
*/
3232

3333
public class ComContainerTypeMap {
34-
private ArrayMap<String, Integer> mMap = new ArrayMap<String, Integer>();
34+
private ConcurrentHashMap<String, Integer> mMap = new ConcurrentHashMap<String, Integer>();
3535

3636
public void register(String comMap, int containerType) {
3737
if (comMap != null && containerType > -1) {

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/Helper/BeanManager.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.Helper;
2626

27-
import android.support.v4.util.ArrayMap;
2827
import android.util.Log;
2928
import com.libra.TextUtils;
3029
import com.tmall.wireless.vaf.virtualview.core.IBean;
3130

31+
import java.util.concurrent.ConcurrentHashMap;
32+
3233
/**
3334
* Created by longerian on 2017/7/12.
3435
*
@@ -40,7 +41,7 @@ public class BeanManager {
4041

4142
private final static String TAG = "BeanManager_TMTEST";
4243

43-
private ArrayMap<String, Class<? extends IBean>> mBeanArrayMap = new ArrayMap<>();
44+
private ConcurrentHashMap<String, Class<? extends IBean>> mBeanArrayMap = new ConcurrentHashMap<>();
4445

4546
public void register(String type, Class<? extends IBean> processor) {
4647
if (null != processor && !TextUtils.isEmpty(type)) {

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/Helper/NativeViewManager.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.Helper;
2626

27-
import android.support.v4.util.ArrayMap;
2827
import com.libra.TextUtils;
2928

29+
import java.util.concurrent.ConcurrentHashMap;
30+
3031
/**
3132
* Created by longerian on 2017/7/12.
3233
*
@@ -38,7 +39,7 @@ public class NativeViewManager {
3839

3940
private final static String TAG = "CompactNativeManager_TMTEST";
4041

41-
private ArrayMap<String, Class<?>> mBeanArrayMap = new ArrayMap<>();
42+
private ConcurrentHashMap<String, Class<?>> mBeanArrayMap = new ConcurrentHashMap<>();
4243

4344
public void register(String type, Class<?> processor) {
4445
if (null != processor && !TextUtils.isEmpty(type)) {

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/Helper/ServiceManager.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,17 @@
2525
package com.tmall.wireless.vaf.virtualview.Helper;
2626

2727
import java.util.Map;
28+
import java.util.concurrent.ConcurrentHashMap;
2829

2930
import android.support.annotation.NonNull;
30-
import android.support.annotation.Nullable;
31-
import android.support.v4.util.ArrayMap;
3231

3332
/**
3433
* Use for communicate with outside class.
3534
* Created by mikeafc on 2017/8/24.
3635
*/
3736

3837
public class ServiceManager {
39-
private Map<Class<?>, Object> mServices = new ArrayMap<>();
38+
private Map<Class<?>, Object> mServices = new ConcurrentHashMap<>();
4039

4140
public <S> void register(@NonNull Class<S> type, @NonNull S service) {
4241
mServices.put(type, type.cast(service));

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/core/ArrayAdapter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.core;
2626

27+
import java.util.concurrent.ConcurrentHashMap;
2728
import java.util.concurrent.atomic.AtomicInteger;
2829

29-
import android.support.v4.util.ArrayMap;
3030
import android.support.v4.util.SparseArrayCompat;
3131
import android.util.Log;
3232
import android.view.View;
@@ -47,7 +47,7 @@ public class ArrayAdapter extends Adapter {
4747
private final static String TAG = "ArrayAdapter_TMTEST";
4848

4949
private AtomicInteger mTypeId = new AtomicInteger(0);
50-
private ArrayMap<String, Integer> mTypeMap = new ArrayMap<>();
50+
private ConcurrentHashMap<String, Integer> mTypeMap = new ConcurrentHashMap<>();
5151
private SparseArrayCompat<String> mId2Types = new SparseArrayCompat<>();
5252
private JSONArray mData;
5353

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/core/ViewBase.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import java.util.Iterator;
2828
import java.util.List;
29+
import java.util.concurrent.ConcurrentHashMap;
2930

3031
import android.graphics.Bitmap;
3132
import android.graphics.Canvas;
@@ -36,7 +37,6 @@
3637
import android.graphics.drawable.Drawable;
3738
import android.os.Build.VERSION;
3839
import android.os.Trace;
39-
import android.support.v4.util.SimpleArrayMap;
4040
import android.text.TextUtils;
4141
import android.util.Log;
4242
import android.util.SparseArray;
@@ -166,7 +166,7 @@ public abstract class ViewBase implements IView {
166166
/**
167167
* Map used to store views' tags.
168168
*/
169-
private SimpleArrayMap<String, Object> mKeyedTags;
169+
private ConcurrentHashMap<String, Object> mKeyedTags;
170170

171171
protected ExprCode mClickCode;
172172
protected ExprCode mBeforeLoadDataCode;
@@ -439,7 +439,7 @@ public Object getTag(String key) {
439439

440440
public void setTag(String key, Object tag) {
441441
if (mKeyedTags == null) {
442-
mKeyedTags = new SimpleArrayMap<>();
442+
mKeyedTags = new ConcurrentHashMap<>();
443443
}
444444

445445
mKeyedTags.put(key, tag);

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/core/ViewCache.java

+7-11
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,6 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.core;
2626

27-
import java.util.ArrayList;
28-
import java.util.HashMap;
29-
import java.util.LinkedList;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.concurrent.ConcurrentHashMap;
33-
34-
import android.support.v4.app.ShareCompat.IntentBuilder;
35-
import android.support.v4.util.ArrayMap;
36-
import android.util.Log;
3727
import android.view.View;
3828

3929
import com.libra.TextUtils;
@@ -44,6 +34,12 @@
4434
import org.json.JSONArray;
4535
import org.json.JSONObject;
4636

37+
import java.util.ArrayList;
38+
import java.util.LinkedList;
39+
import java.util.List;
40+
import java.util.Map;
41+
import java.util.concurrent.ConcurrentHashMap;
42+
4743
/**
4844
* Created by gujicheng on 16/12/6.
4945
*/
@@ -76,7 +72,7 @@ public static class Item {
7672

7773
public String mAttrEL;
7874

79-
private ArrayMap<Integer, Object> cacheTargetValue = new ArrayMap<>();
75+
private ConcurrentHashMap<Integer, Object> cacheTargetValue = new ConcurrentHashMap<>();
8076

8177
private int mValueType = TYPE_INT;
8278

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/event/ClickProcessorManager.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.event;
2626

27-
import android.support.v4.util.ArrayMap;
2827
import android.text.TextUtils;
29-
import android.util.SparseArray;
3028

3129
import org.json.JSONObject;
3230

31+
import java.util.concurrent.ConcurrentHashMap;
32+
3333
/**
3434
* Created by gujicheng on 17/1/11.
3535
*/
3636

3737
public class ClickProcessorManager {
3838
private final static String TAG = "CliProManager_TMTEST";
3939

40-
private ArrayMap<String, IClickProcessor> mProcessors = new ArrayMap<>();
40+
private ConcurrentHashMap<String, IClickProcessor> mProcessors = new ConcurrentHashMap<>();
4141
private IClickProcessor mDefaultProcessor;
4242

4343
public void register(String type, IClickProcessor p) {

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/loader/ExprCodeLoader.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,19 @@
2424

2525
package com.tmall.wireless.vaf.virtualview.loader;
2626

27-
import android.support.v4.util.ArrayMap;
2827
import android.util.Log;
2928

30-
import android.util.SparseIntArray;
3129
import com.libra.expr.common.ExprCode;
32-
import com.libra.virtualview.common.Common;
3330

34-
import java.util.ArrayList;
35-
import java.util.List;
31+
import java.util.concurrent.ConcurrentHashMap;
3632

3733
/**
3834
* Created by gujicheng on 16/9/12.
3935
*/
4036
public class ExprCodeLoader {
4137
private final static String TAG = "CodeManager_TMTEST";
4238

43-
private ArrayMap<Integer, ExprCode> mCodeMap = new ArrayMap();
39+
private ConcurrentHashMap<Integer, ExprCode> mCodeMap = new ConcurrentHashMap();
4440

4541
public void reset() {
4642
}

virtualview/src/main/java/com/tmall/wireless/vaf/virtualview/loader/StringLoader.java

+5-28
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
package com.tmall.wireless.vaf.virtualview.loader;
2626

2727
import java.util.Map;
28+
import java.util.concurrent.ConcurrentHashMap;
2829

29-
import android.support.v4.util.ArrayMap;
3030
import android.util.Log;
3131
import com.libra.TextUtils;
3232
import com.libra.expr.common.StringSupport;
@@ -38,18 +38,16 @@
3838
public class StringLoader extends StringBase implements StringSupport {
3939
final private static String TAG = "StringLoader_TMTEST";
4040

41-
private Map<String, Integer> mString2Index = new ArrayMap<>();
41+
private Map<String, Integer> mString2Index = new ConcurrentHashMap<>();
4242

43-
private Map<Integer, String> mIndex2String = new ArrayMap<>();
43+
private Map<Integer, String> mIndex2String = new ConcurrentHashMap<>();
4444

45-
private Map<String, Integer> mSysString2Index = new ArrayMap<>();
45+
private Map<String, Integer> mSysString2Index = new ConcurrentHashMap<>();
4646

47-
private Map<Integer, String> mSysIndex2String = new ArrayMap<>();
47+
private Map<Integer, String> mSysIndex2String = new ConcurrentHashMap<>();
4848

4949
private int mCurPage;
5050

51-
52-
5351
public StringLoader() {
5452
for (int i = 0; i < StringBase.STR_ID_SYS_KEY_COUNT; ++i) {
5553
mSysString2Index.put(SYS_KEYS[i], StringBase.SYS_KEYS_INDEX[i]);
@@ -144,25 +142,4 @@ public boolean isSysString(int id) {
144142
public boolean isSysString(String string) {
145143
return mSysString2Index.containsKey(string);
146144
}
147-
148-
//private int addNewItem(String str) {
149-
// int ret;
150-
//
151-
// Map<Integer, String> arr = (Map<Integer, String>)mIndex2StringTab[mCurPage];
152-
// if (null == arr) {
153-
// arr = new ArrayMap<>(30);
154-
// mIndex2StringTab[mCurPage] = arr;
155-
// }
156-
// arr.add(str);
157-
//
158-
// Map<String, Integer> map = (Map<String, Integer>)mString2IndexTab[mCurPage];
159-
// if (null == map) {
160-
// map = new HashMap<>();
161-
// mString2IndexTab[mCurPage] = map;
162-
// }
163-
// ret = mCurPage * Common.MAX_PAGE_ITEM_COUNT + map.size();
164-
// map.put(str, ret);
165-
//
166-
// return ret;
167-
//}
168145
}

0 commit comments

Comments
 (0)