Skip to content

Commit fe70516

Browse files
committed
see 01/03 log
1 parent df83245 commit fe70516

File tree

13 files changed

+143
-59
lines changed

13 files changed

+143
-59
lines changed

bus-gradle-plugin/src/main/java/com/blankj/util/JsonUtils.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import com.google.gson.GsonBuilder
1313
*/
1414
final class JsonUtils {
1515

16+
static final Gson GSON = new GsonBuilder().setPrettyPrinting().create()
17+
1618
static String getFormatJson(Object object) {
17-
Gson gson = new GsonBuilder().setPrettyPrinting().create()
18-
return gson.toJson(object)
19+
return GSON.toJson(object)
1920
}
2021
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDiskUtils.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import java.util.Locale;
3535
import java.util.Map;
3636
import java.util.Set;
37-
import java.util.concurrent.ConcurrentHashMap;
3837
import java.util.concurrent.atomic.AtomicInteger;
3938
import java.util.concurrent.atomic.AtomicLong;
4039

@@ -52,7 +51,7 @@ public final class CacheDiskUtils implements CacheConstants {
5251
private static final int DEFAULT_MAX_COUNT = Integer.MAX_VALUE;
5352
private static final String CACHE_PREFIX = "cdu";
5453

55-
private static final Map<String, CacheDiskUtils> CACHE_MAP = new ConcurrentHashMap<>();
54+
private static final Map<String, CacheDiskUtils> CACHE_MAP = new HashMap<>();
5655

5756
private final String mCacheKey;
5857
private final File mCacheDir;
@@ -138,8 +137,13 @@ public static CacheDiskUtils getInstance(@NonNull final File cacheDir,
138137
final String cacheKey = cacheDir.getAbsoluteFile() + "_" + maxSize + "_" + maxCount;
139138
CacheDiskUtils cache = CACHE_MAP.get(cacheKey);
140139
if (cache == null) {
141-
cache = new CacheDiskUtils(cacheKey, cacheDir, maxSize, maxCount);
142-
CACHE_MAP.put(cacheKey, cache);
140+
synchronized (CacheDiskUtils.class) {
141+
cache = CACHE_MAP.get(cacheKey);
142+
if (cache == null) {
143+
cache = new CacheDiskUtils(cacheKey, cacheDir, maxSize, maxCount);
144+
CACHE_MAP.put(cacheKey, cache);
145+
}
146+
}
143147
}
144148
return cache;
145149
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheDoubleUtils.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import org.json.JSONObject;
1212

1313
import java.io.Serializable;
14+
import java.util.HashMap;
1415
import java.util.Map;
15-
import java.util.concurrent.ConcurrentHashMap;
1616

1717
/**
1818
* <pre>
@@ -24,7 +24,7 @@
2424
*/
2525
public final class CacheDoubleUtils implements CacheConstants {
2626

27-
private static final Map<String, CacheDoubleUtils> CACHE_MAP = new ConcurrentHashMap<>();
27+
private static final Map<String, CacheDoubleUtils> CACHE_MAP = new HashMap<>();
2828

2929
private final CacheMemoryUtils mCacheMemoryUtils;
3030
private final CacheDiskUtils mCacheDiskUtils;
@@ -50,8 +50,13 @@ public static CacheDoubleUtils getInstance(@NonNull final CacheMemoryUtils cache
5050
final String cacheKey = cacheDiskUtils.toString() + "_" + cacheMemoryUtils.toString();
5151
CacheDoubleUtils cache = CACHE_MAP.get(cacheKey);
5252
if (cache == null) {
53-
cache = new CacheDoubleUtils(cacheMemoryUtils, cacheDiskUtils);
54-
CACHE_MAP.put(cacheKey, cache);
53+
synchronized (CacheDoubleUtils.class) {
54+
cache = CACHE_MAP.get(cacheKey);
55+
if (cache == null) {
56+
cache = new CacheDoubleUtils(cacheMemoryUtils, cacheDiskUtils);
57+
CACHE_MAP.put(cacheKey, cache);
58+
}
59+
}
5560
}
5661
return cache;
5762
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/CacheMemoryUtils.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
import com.blankj.utilcode.constant.CacheConstants;
77

8+
import java.util.HashMap;
89
import java.util.Map;
9-
import java.util.concurrent.ConcurrentHashMap;
1010

1111
/**
1212
* <pre>
@@ -20,7 +20,7 @@ public final class CacheMemoryUtils implements CacheConstants {
2020

2121
private static final int DEFAULT_MAX_COUNT = 256;
2222

23-
private static final Map<String, CacheMemoryUtils> CACHE_MAP = new ConcurrentHashMap<>();
23+
private static final Map<String, CacheMemoryUtils> CACHE_MAP = new HashMap<>();
2424

2525
private final String mCacheKey;
2626
private final LruCache<String, CacheValue> mMemoryCache;
@@ -54,8 +54,13 @@ public static CacheMemoryUtils getInstance(final int maxCount) {
5454
public static CacheMemoryUtils getInstance(final String cacheKey, final int maxCount) {
5555
CacheMemoryUtils cache = CACHE_MAP.get(cacheKey);
5656
if (cache == null) {
57-
cache = new CacheMemoryUtils(cacheKey, new LruCache<String, CacheValue>(maxCount));
58-
CACHE_MAP.put(cacheKey, cache);
57+
synchronized (CacheMemoryUtils.class) {
58+
cache = CACHE_MAP.get(cacheKey);
59+
if (cache == null) {
60+
cache = new CacheMemoryUtils(cacheKey, new LruCache<String, CacheValue>(maxCount));
61+
CACHE_MAP.put(cacheKey, cache);
62+
}
63+
}
5964
}
6065
return cache;
6166
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/LogUtils.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import java.io.StringWriter;
3434
import java.lang.annotation.Retention;
3535
import java.lang.annotation.RetentionPolicy;
36-
import java.lang.reflect.Array;
3736
import java.lang.reflect.ParameterizedType;
3837
import java.lang.reflect.Type;
3938
import java.net.UnknownHostException;
@@ -103,7 +102,8 @@ public final class LogUtils {
103102
private static final String ARGS = "args";
104103
private static final String PLACEHOLDER = " ";
105104
private static final Config CONFIG = new Config();
106-
private static final Gson GSON = new GsonBuilder().serializeNulls().create();
105+
private static final Gson GSON = new GsonBuilder()
106+
.setPrettyPrinting().serializeNulls().create();
107107

108108
private static final ThreadLocal<SimpleDateFormat> SDF_THREAD_LOCAL = new ThreadLocal<>();
109109

@@ -794,7 +794,10 @@ static String object2String(Object object) {
794794
}
795795

796796
static String object2Json(Object object) {
797-
return formatJson(GSON.toJson(object));
797+
if (object instanceof CharSequence) {
798+
return formatJson(object.toString());
799+
}
800+
return GSON.toJson(object);
798801
}
799802

800803
static String formatXml(String xml) {
@@ -803,7 +806,7 @@ static String formatXml(String xml) {
803806
StreamResult xmlOutput = new StreamResult(new StringWriter());
804807
Transformer transformer = TransformerFactory.newInstance().newTransformer();
805808
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
806-
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
809+
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
807810
transformer.transform(xmlInput, xmlOutput);
808811
xml = xmlOutput.getWriter().toString().replaceFirst(">", ">" + LINE_SEP);
809812
} catch (Exception e) {
@@ -966,9 +969,9 @@ private static String intent2String(Intent intent) {
966969
private static String formatJson(String json) {
967970
try {
968971
if (json.startsWith("{")) {
969-
json = new JSONObject(json).toString(4);
972+
json = new JSONObject(json).toString(2);
970973
} else if (json.startsWith("[")) {
971-
json = new JSONArray(json).toString(4);
974+
json = new JSONArray(json).toString(2);
972975
}
973976
} catch (JSONException e) {
974977
e.printStackTrace();

utilcode/lib/src/main/java/com/blankj/utilcode/util/SPUtils.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import android.support.annotation.NonNull;
77

88
import java.util.Collections;
9+
import java.util.HashMap;
910
import java.util.Map;
1011
import java.util.Set;
11-
import java.util.concurrent.ConcurrentHashMap;
1212

1313
/**
1414
* <pre>
@@ -21,7 +21,7 @@
2121
@SuppressLint("ApplySharedPref")
2222
public final class SPUtils {
2323

24-
private static final Map<String, SPUtils> SP_UTILS_MAP = new ConcurrentHashMap<>();
24+
private static final Map<String, SPUtils> SP_UTILS_MAP = new HashMap<>();
2525
private SharedPreferences sp;
2626

2727
/**
@@ -64,8 +64,13 @@ public static SPUtils getInstance(String spName, final int mode) {
6464
if (isSpace(spName)) spName = "spUtils";
6565
SPUtils spUtils = SP_UTILS_MAP.get(spName);
6666
if (spUtils == null) {
67-
spUtils = new SPUtils(spName, mode);
68-
SP_UTILS_MAP.put(spName, spUtils);
67+
synchronized (SPUtils.class) {
68+
spUtils = SP_UTILS_MAP.get(spName);
69+
if (spUtils == null) {
70+
spUtils = new SPUtils(spName, mode);
71+
SP_UTILS_MAP.put(spName, spUtils);
72+
}
73+
}
6974
}
7075
return spUtils;
7176
}

utilcode/lib/src/main/java/com/blankj/utilcode/util/ThreadUtils.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
import android.support.annotation.NonNull;
77
import android.support.annotation.Nullable;
88
import android.util.Log;
9+
import android.util.SparseArray;
910

11+
import java.util.HashMap;
1012
import java.util.Map;
11-
import java.util.concurrent.ConcurrentHashMap;
1213
import java.util.concurrent.ExecutorService;
1314
import java.util.concurrent.Executors;
1415
import java.util.concurrent.LinkedBlockingQueue;
@@ -29,10 +30,8 @@
2930
*/
3031
public final class ThreadUtils {
3132

32-
private static final Map<Integer, Map<Integer, ExecutorService>> TYPE_PRIORITY_POOLS =
33-
new ConcurrentHashMap<>();
34-
private static final Map<Task, ScheduledExecutorService> TASK_SCHEDULED =
35-
new ConcurrentHashMap<>();
33+
private static final SparseArray<SparseArray<ExecutorService>> TYPE_PRIORITY_POOLS = new SparseArray<>();
34+
private static final Map<Task, ScheduledExecutorService> TASK_SCHEDULED = new HashMap<>();
3635

3736
private static final byte TYPE_SINGLE = -1;
3837
private static final byte TYPE_CACHED = -2;
@@ -878,7 +877,7 @@ public void run() {
878877
}, initialDelay, period, unit);
879878
}
880879

881-
private static ScheduledExecutorService getScheduledByTask(final Task task) {
880+
private synchronized static ScheduledExecutorService getScheduledByTask(final Task task) {
882881
ScheduledExecutorService scheduled = TASK_SCHEDULED.get(task);
883882
if (scheduled == null) {
884883
UtilsThreadFactory factory = new UtilsThreadFactory("scheduled", Thread.MAX_PRIORITY);
@@ -888,7 +887,7 @@ private static ScheduledExecutorService getScheduledByTask(final Task task) {
888887
return scheduled;
889888
}
890889

891-
private static void removeScheduleByTask(final Task task) {
890+
private synchronized static void removeScheduleByTask(final Task task) {
892891
ScheduledExecutorService scheduled = TASK_SCHEDULED.get(task);
893892
if (scheduled != null) {
894893
TASK_SCHEDULED.remove(task);
@@ -900,11 +899,11 @@ private static ExecutorService getPoolByTypeAndPriority(final int type) {
900899
return getPoolByTypeAndPriority(type, Thread.NORM_PRIORITY);
901900
}
902901

903-
private static ExecutorService getPoolByTypeAndPriority(final int type, final int priority) {
902+
private synchronized static ExecutorService getPoolByTypeAndPriority(final int type, final int priority) {
904903
ExecutorService pool;
905-
Map<Integer, ExecutorService> priorityPools = TYPE_PRIORITY_POOLS.get(type);
904+
SparseArray<ExecutorService> priorityPools = TYPE_PRIORITY_POOLS.get(type);
906905
if (priorityPools == null) {
907-
priorityPools = new ConcurrentHashMap<>();
906+
priorityPools = new SparseArray<>();
908907
pool = createPoolByTypeAndPriority(type, priority);
909908
priorityPools.put(priority, pool);
910909
TYPE_PRIORITY_POOLS.put(type, priorityPools);
@@ -921,6 +920,7 @@ private static ExecutorService getPoolByTypeAndPriority(final int type, final in
921920
private static ExecutorService createPoolByTypeAndPriority(final int type, final int priority) {
922921
switch (type) {
923922
case TYPE_SINGLE:
923+
System.out.println("hehe");
924924
return Executors.newSingleThreadExecutor(
925925
new UtilsThreadFactory("single", priority)
926926
);

utilcode/lib/src/main/java/com/blankj/utilcode/util/Utils.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111

1212
import java.lang.reflect.Field;
1313
import java.lang.reflect.InvocationTargetException;
14+
import java.util.HashMap;
1415
import java.util.HashSet;
1516
import java.util.Iterator;
1617
import java.util.LinkedList;
1718
import java.util.List;
1819
import java.util.Map;
1920
import java.util.Set;
20-
import java.util.concurrent.ConcurrentHashMap;
2121

2222
/**
2323
* <pre>
@@ -158,10 +158,9 @@ static boolean isAppForeground() {
158158

159159
static class ActivityLifecycleImpl implements ActivityLifecycleCallbacks {
160160

161-
final LinkedList<Activity> mActivityList = new LinkedList<>();
162-
final Map<Object, OnAppStatusChangedListener> mStatusListenerMap = new ConcurrentHashMap<>();
163-
164-
final Map<Activity, Set<OnActivityDestroyedListener>> mDestroyedListenerMap = new ConcurrentHashMap<>();
161+
final LinkedList<Activity> mActivityList = new LinkedList<>();
162+
final Map<Object, OnAppStatusChangedListener> mStatusListenerMap = new HashMap<>();
163+
final Map<Activity, Set<OnActivityDestroyedListener>> mDestroyedListenerMap = new HashMap<>();
165164

166165
private int mForegroundCount = 0;
167166
private int mConfigCount = 0;

utilcode/lib/src/test/java/com/blankj/utilcode/util/BaseTest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.blankj.utilcode.util;
22

33

4-
import android.util.Log;
5-
64
import org.junit.Test;
75
import org.junit.runner.RunWith;
86
import org.robolectric.RobolectricTestRunner;
@@ -29,9 +27,6 @@ public BaseTest() {
2927

3028
@Test
3129
public void test() throws Exception {
32-
33-
Log.e("haha", "test: ");
34-
3530
// final CountDownLatch countDownLatch = new CountDownLatch(1);
3631
// final Scanner scanner = new Scanner(System.in);
3732
// ExecutorService singlePool = ThreadUtils.getSinglePool();

0 commit comments

Comments
 (0)