1.尽管 Message
的构造器是公开的,但是获取 Message
对象的最好方法是调用 Message.obtain()
或者 Handler.obtainMessage()
,这样是从一个可回收对象池中获取Message对象。看下源码
/**
* Return a new Message instance from the global pool. Allows us to
* avoid allocating new objects in many cases.
*/
public static Message obtain() {
synchronized (sPoolSync) {
if (sPool != null) {
Message m = sPool;
sPool = m.next;
m.next = null;
m.flags = 0; // clear in-use flag
sPoolSize--;
return m;
}
}
return new Message();
}
图片加载是开发中最长用到的功能,列出目前github上star最多的几个开源库
设置多张图片时bitmap过大会占用大量内存,可能导致oom。 通常会对图片进行压缩工作,网上常用的两种方法如下