这个问题就是如何在加载图片是不发生oom
那么就需要压缩图片。
我们需要了解程序对应用的分配的最大内存,加载图片的最大内存。了解这些是为了压缩图片使用时作为参数。
那么如何压缩,压缩多少呢?这就需要计算了。
我们要知道每款机型的分配内存是不一样的,我们一般会用老一点的机型来作为标准,大概不超过一百M。加载图片是的内存就应该更小。
我自己的加载策略是这样的, 把这个最大的内存*百分之20 作为图片消耗的最大内存,这个图片应该是全屏图片使用的最大内存。
然后我们需要了解到屏幕的大小,利用bitmap。factory 实现压缩,根据屏幕像素计算显示View的系数。确定view的使用内存。然后通过系数循环压缩,直到得到小于使用内存时停止。
然后显示图片即可。