android图片存储优化的心得

本文探讨了Android开发中图片存储优化的重要性,列举了图片可能导致的OOM情况,并分享了尺寸压缩、质量压缩和内存复用等优化策略。通过调整图片宽高比例、质量设置和利用inBitmap机制,有效减少内存占用,防止应用崩溃。
摘要由CSDN通过智能技术生成

     在android开发过程中图片的存储优化是非常常见,处理不好,时常会造成图片OOM。接下来分享一下我在开发过程中做的相应的处理,仅供各位参考,如有不足还请多多指教。

     首先我们知道图片在app存在形式无非就是:file、stream流、bitmap!

一、接下来列出几个图片OOM的出现情况

    1、在一个页面中一次性加载过多的图片

    2、加载的图片过大

    3、bitmap的错误使用

二、图片优化的处理方式:尺寸压缩、质量压缩、内存复用

   在此我们先知道一张图片的大小=图片的宽x图片的高x一个像素所占的大小。

   1、尺寸压缩

      按照一定的比例减小图片的宽高从而减少单位尺寸的像素值,这样的话可以改变图片在内存中的大小。这种做法只是改变了图片在加载时内存中的大小,但是磁盘中图片的大小是没有发生变化的

   代码示例:

/** 
* @param pathUrl 文件路径 
* @return 
*/
public Bitmap getBitmap(String pathUrl) {
    // 配置压缩的参数
    BitmapFactory.Options options = new BitmapFactory.Options();
    // 开始读入图片,此时把options.inJustDecodeBounds 设为true,方便图片在不加载进内存的情况下获取图片的宽高
    options.inJustDecodeBounds = true;
    Bitmap bitmap = BitmapFactory.decodeFile(pathUrl, options);//这个时候decode的bitmap为null
    opti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值