首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解Bitmap之ARGB_8888RGB_565ALPHA_8ARGB_4444

前言 有时会看到别人使用bitmap是用到ARGB_8888/RGB_565这类参数,那么这些参数是什么?对bitmap有什么影响?...RGB_565:分别用5位、6位和5位来记录RGB三色值,所以每个像素会占用16位。 ALPHA_8:根据注释应该是不保存颜色值,只保存透明度(8位),每个像素会占用8位。...RGB_565:内存占用减少一半,舍弃了透明度,同时三色值也有部分损失,但是图片失真度很小。 ALPHA_8:内存占用减少3/4,没有颜色,只有透明度,即黑白。...已废除,而ALPHA_8需要在特殊条件下使用,一般用来做特殊需求的,所以我们大多数是用的还是ARGB_8888和RGB_565。...RGB_565能够在保证图片质量的情况下大大减少内存的开销,是解决oom的一种方法。但是一定要注意RGB_565是没有透明度的,如果图片本身需要保留透明度,那么就不能使用RGB_565

3.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android图片压缩质量参数Bitmap.Config RGB_565、 ARGB_8888的含义及用法

    Bitmap.Config ARGB_4444 public static final Bitmap.Config ARGB_8888 public static final Bitmap.Config RGB..._565 一看,有点蒙了,ALPHA_8, ARGB_4444,ARGB_8888,RGB_565 到底是什么呢?...所以红绿蓝又称为三原色,每个原色都存储着所表示颜色的信息值 说白了就ALPHA_8就是Alpha由8位组成 ARGB_4444就是由4个4位组成即16位, ARGB_8888就是由4个8位组成即32位, RGB...565就是R为5位,G为6位,B为5位共16位 由此可见: ALPHA_8 代表8位Alpha位图 ARGB_4444 代表16位ARGB位图 ARGB_8888 代表32位ARGB位图 RGB...使用RGB_565会比使用ARGB_8888少消耗2倍的内存,很多时候默认是ARGB_8888,所以我们需要主动设置为RGB_565.

    1.3K20

    (转载非原创)Android系统Bitmap内存分配原理与优化

    在那之前它一直默认使用RGB_565。 对客户端使用的大部分图片来说,32位深度、16位深度的显示质量是肉眼较难分辨的,但它们在占用内存上相差了整整一倍。...因此,笔者建议在大部分场景下,使用RGB_565作为加载图片的模式。以下两种场景除外: 1)含透明部分的图片:如果采用RGB_565图片格式来显示图片,是无法正常展现透明区域的。...五、优化策略 在实际的开发中,我们希望中高端机型加载更清晰的图片(ARGB_8888),以提升用户体验,对于低端机型则希望加载占用内存更小的图片(RGB_565),以降低OOM发生的概率。...return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || hasLowRam()) { // 低端机型采用RGB

    69020

    Android系统Bitmap内存分配原理与优化

    在那之前它一直默认使用RGB_565。 对客户端使用的大部分图片来说,32位深度、16位深度的显示质量是肉眼较难分辨的,但它们在占用内存上相差了整整一倍。...因此,笔者建议在大部分场景下,使用RGB_565作为加载图片的模式。以下两种场景除外: 1)含透明部分的图片:如果采用RGB_565图片格式来显示图片,是无法正常展现透明区域的。...五、优化策略 在实际的开发中,我们希望中高端机型加载更清晰的图片(ARGB_8888),以提升用户体验,对于低端机型则希望加载占用内存更小的图片(RGB_565),以降低OOM发生的概率。...return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N || hasLowRam()) { // 低端机型采用RGB

    1.2K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券