优化背景一般情况下,Fresco图片加载需使用SimpleDraweeView,这个控件并不能自动根据自身的尺寸按需加载图片,即一个 N×N 的UI控件,背后加载的实际图片可能是 2N×2N。这就导致了实际应用运行过程中的内存使用效率不高,需要针对其进行内存优化。在一些入门级硬件设备上,表现得尤为明显,随着程序的运行时间的增长,OOM的风险也不断加大。相较于原来 1920×1080 尺寸,内存减小了 94%!这里采用编写SimpleDraweeView的子类进行优化,利用向上转型,尽可能的减小View层代码的改动,只需要修改xml布局文件中的控件声明即可。这样,利用向上转型,View层的代码无需改动,xml文件中替换控件声明后即可显著提高内存利用率。注意事项性能优化是条永无止境的道路,没有最牛逼的方案,只有最合适的方案。

Android Fresco图片加载优化的方案

Android Fresco图片加载优化的方案

Android Fresco图片加载优化的方案

Android Fresco图片加载优化的方案