Bitmap详解与Bitmap的内存优化.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Bitmap详解与Bitmap的内存优化

Bitmap详解与Bitmap的内存优化 一、Bitmap: Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。 常用方法: + public void recycle()  // 回收位图占用的内存空间,把位图标记为Dead + public final boolean isRecycled()  //判断位图内存是否已释放 + public final int getWidth() //获取位图的宽度 + public final int getHeight() //获取位图的高度 + public final boolean isMutable() //图片是否可修改 + public int getScaledWidth(Canvas canvas) //获取指定密度转换后的图像的宽度 + public int getScaledHeight(Canvas canvas) //获取指定密度转换后的图像的高度 + public boolean compress(CompressFormat format, int quality, OutputStream stream) //按指定的图片格式以及画质,将图片转换为输出流。 format:压缩图像的格式,如Bitmap.CompressFormat.PNG或Bitmap.CompressFormat.JPEG quality:画质,0-100.0表示最低画质压缩,100以最高画质压缩。对于PNG等无损格式的图片,会忽略此项设置。 stream: OutputStream中写入压缩数据。 return: 是否成功压缩到指定的流。 + public static Bitmap createBitmap(Bitmap src)  //以src为原图生成不可变得新图像 + public static Bitmap createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter) //以src为原图,创建新的图像,指定新图像的高宽以及是否可变。 + public static Bitmap createBitmap(int width, int height, Config config) //创建指定格式、大小的位图 + public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height) //以source为原图,创建新的图片,指定起始坐标以及新图像的高宽。 二、BitmapFactory工厂类: Option 参数类: + public boolean inJustDecodeBounds //如果设置为true,不获取图片,不分配内存,但会返回图片的高度宽度信息。 如果将这个值置为true,那么在解码的时候将不会返回bitmap,只会返回这个bitmap的尺寸。这个属性的目的是,如果你只想知道一个bitmap的尺寸,但又不想将其加载到内存时。这是一个非常有用的属性。 + public int inSampleSize //图片缩放的倍数 这个值是一个int,当它小于1的时候,将会被当做1处理,如果大于1,那么就会按照比例(1 / inSampleSize)缩小bitmap的宽和高、降低分辨率,大于1时这个值将会被处置为2的倍数。例如,width=100,height=100,inSampleSize=2,那么就会将bitmap处理为,width=50,height=50,宽高降为1 / 2,像素数降为1 / 4。 + public int outWidth //获取图片的宽度值 + public int outHeight //获取图片的高度值 表示这个Bitmap的宽和高,一般和inJustDecodeBounds一起使用来获得Bitmap的宽高,但是不加载到内存。 + public int inDensity //用于位图的像素压缩比 + public int inTargetDensity //用于目标位图的像素压缩比(要生成的位图) + public byte[] inTempStorage  //创建临时文件,将图片存储 + public boolean inScaled //设置为true时进行图片压缩,从inDensity到inTargetDensity + public boolean inDither  //如

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档