rexxar-android
rexxar-android copied to clipboard
RouteManager中的单例模式写的应该是不对的
private static RouteManager sInstance;//这种写法静态变量应该用volatile修饰,不然指令重排序可能导致其他线程获取到错误的单例,可以看一下这里说明:https://my.oschina.net/u/2250599/blog/412827
public static RouteManager getInstance(boolean asyncLoadRoute) {
if (null == sInstance) {
synchronized (RouteManager.class) {
if (null == sInstance) {
sInstance = new RouteManager(asyncLoadRoute);
}
}
}
return sInstance;
}
@aolphn 👍