android 软引用和lrucache的区别
16lz
2021-01-25
前几年刚接触android的时候,为了节省流量和图片快速展示,我们一般都适用软引用把图片保留在内存中。
随之android版本更新,垃圾回收机制对软引用的处理方式也在发生变化。之后的开发中我们要使用Lrucache和DiskLrucache来保存图片。
网上有很多人使用软引用加载图片的多,但是现在已经不再推荐使用这种方式了,
(1)因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠。
(2)另外,Android 3.0 (API Level 11)中,图片的数据会存储在本地的内存当中,
因而无法用一种可预见的方式将其释放,这就有潜在的风险造成应用程序的内存溢出并崩溃,
所以我这里用得是LruCache来缓存图片,当存储Image的大小大于LruCache设定的值,系统自动释放内存,
这个类是3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入android-support-v4的jar包 。
更多相关文章
- Android面试系列文章2018之内存管理之Bitmap的加载篇
- Android中的内存溢出和内存泄漏问题
- 发布android app到android market的方法
- Android开发周报:Android相机开发、内存泄漏总结
- Android环境配置与HelloWorld程序(Windows)
- Android中如何把bitmap存成BMP格式的图片
- android使用.9,png图片作为背景的问题
- unity 导出 android安装包配置方案
- Android(安卓)性能优化之内存检测、卡顿优化、耗电优化、APK瘦身