XML布局中加载的图片是不用GC的,

他们是和View/Activity 绑定在一起,同生同死。

UI上加载的可以使用SoftReference让虚拟机进行快速回收。
如果迫切需要手动回收,严格控制内存开销,也许就该针对场景写Cache的管理了。

对于一般的场景,使用栈的结构就足够了,对于期望高效流畅又有着复杂item的ListView的话
可能需要预加载和手动回收。

--------------------------------------------------------------------------------------------------------

1.对图片进行预处理
主要是根据实际大小对对质量进行压缩

2.参考下android developer中的demo,里面有两点值得借鉴:一个是内存缓存,一个是disk缓存。可以很好的帮助你处理oom.

 

楼上所说的是LruCache,你好好研究下这个官方DEMO,研究明白了,你以后所有的项目都可以使用这个DEMO中的方式,绝对不会出现OOM。另外,在Gallery3D的源代码中,好像有另外一种cache方式。

 

--------------------------------------------------------------------------------------------------------

https://github.com/dodola/android_waterfall/tree/master/src/net   可以加载上万张图片的瀑布流

--------------------------------------------------------------------------------------------------------

 

 

--------------------------------------------------------------------------------------------------------

 

--------------------------------------------------------------------------------------------------------

相关文章:

  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-10-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-09-14
  • 2021-09-13
相关资源
相似解决方案