今天看到这样一行代码:
private final HashMap<Font, WeakReference<Typeface>> mTypefaces = new HashMap<Font, WeakReference<Typeface>>();
不太理解用final
修饰的用途。
推测其意图可能是想避免重复加载字体文件,导致大量耗时,所以将Typeface
对象存放到HashMap
中,并用弱引用引用之。
但如果是这种意图,用static
修饰HashMap
是不是更合理点。
另外,在网上看到有人用WeakHashMap
,不太理解和HashMap
之间的区别,希望大神指点迷津。
不能再给
mTypefaces
赋值,Java 修饰符