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

BitmapFactory.decodeResource返回Android 2.2中的可变位图和Android 1.6中的不可变位图

BitmapFactory.decodeResource是Android中的一个方法,用于将资源文件中的图像解码为位图对象。它可以根据传入的参数返回可变位图(Mutable Bitmap)或不可变位图(Immutable Bitmap),具体取决于传入的Options参数。

可变位图是指可以修改像素值的位图对象,而不可变位图是指像素值不可修改的位图对象。在Android 2.2及以上版本中,decodeResource默认返回可变位图,而在Android 1.6及以下版本中,默认返回不可变位图。

可变位图的优势在于可以直接修改像素值,适用于需要频繁修改图像的场景,如涂鸦、图像编辑等。不可变位图的优势在于占用内存较少,适用于静态展示的场景,如图标、背景等。

推荐的腾讯云相关产品是腾讯云移动应用分析(MTA),它是一款专注于移动应用数据分析的产品。MTA提供了丰富的数据分析功能,可以帮助开发者深入了解用户行为、应用性能等方面的数据,从而优化应用的用户体验和性能。

产品介绍链接地址:https://cloud.tencent.com/product/mta

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详解Android Bitmap常用压缩方式

现在已经在公司实习了一个月多,目前主要是负责公司某个产品内存优化,刚好就总结了一下Android Bitmap常用优化方式。...Android图片是以Bitmap方式存在,绘制时候也是Bitmap,直接影响到app运行时内存,在Android,Bitmap所占用内存计算公式是:图片长度 x 图片宽度 x像素点字节数...RGB_565 :表示16位RGB位图,即R=5,G=6,B=5,它没有透明度,一个像素点占5+6+5=16位,2个字节 我们在做压缩处理时候,可以先通过改变Bitmap图片格式,来达到压缩效果,...,它是在保持像素前提下改变图片位深及透明度,来达到压缩图片目的,图片长,宽,像素都不会改变,那么bitmap所占内存大小是不会。...,也是通过缩放图片尺寸,来达到压缩图片效果,采样率原理一样。

95210

Android 安装包优化】WebP 应用 ( Android 中使用 libwebp.so 库编码 WebP 图片 )

WebPEncodeRGBA 方法 , 传入 5 个参数作用 : byte[] var0 : 位图字节数据 ; int var1 : 位图宽度 , 单位像素 ; int var2 : 位图高度 ,...单位像素 ; int var3 : 位图每行数据字节数 ; float var4 : 压缩 WebP 图片质量 , 推荐 75 ; public static byte[] WebPEncodeRGBA...libwebp.WebPEncodeRGBA 函数 , 进行 WebP 图片编码操作 ; 同时测试编码时长 ; package kim.hsl.webp import android.graphics.Bitmap...低于 Android 本身自带 API 速度 , 由于是为了适配低版本系统 , 聊胜于无 ; 三、参考资料 ---- 参考文档 : 创建 WebP 图片 : https://developer.android.google.cn.../studio/write/convert-webp Android 中支持媒体格式 : https://developer.android.google.cn/guide/topics/media

57830

Android 安装包优化】WebP 应用 ( Android 中使用 libwebp.so 库解码 WebP 图片 )

: 图像宽度 , 传入是数组 , 只有 1 个元素 , 作为返回值使用 ; int[] var4 : 图像高度 , 传入是数组 , 只有 1 个元素 , 作为返回值使用 ; public static...libwebp.WebPDecodeARGB 函数 , 进行 WebP 图片解码操作 ; 同时测试解码时长 ; package kim.hsl.webp import android.annotation.SuppressLint...高于 Android 本身自带 API 速度 ; 界面显示 : 三、参考资料 ---- 参考文档 : 创建 WebP 图片 : https://developer.android.google.cn.../studio/write/convert-webp Android 中支持媒体格式 : https://developer.android.google.cn/guide/topics/media...developers.google.com/speed/webp WebP 相关工具下载页 : https://developers.google.com/speed/webp/download WebP工具函数库使用文档

1.7K10

android学习笔记----关于图形基本处理讲解

一定记住解码图片时第二个参数BitmapFactory.Options,控制下采样图像是否应该被完全解码选项,或者只是返回大小。...样本大小是任一维度中与解码位图单个像素相对应像素数。例如,inSampleSize == 4返回图像是原始宽度/高度1/4,像素数量1/16。...如果返回true,则可以通过将相应输入流传递给BitmapFactory.decodeStream()来重建位图。...注意:并非所有Formats都直接支持所有位图配置,因此BitmapFactory返回位图可能位于不同bitdepth中,/或可能丢失了每像素alpha(例如,JPEG仅支持不透明像素)。...()getHeight()尺寸显示尺寸不同,因为图片放在drawable不同目录 // 按缩放比解析位图 Bitmap bitmap = BitmapFactory.decodeResource

58120

Bitmap图片压缩,大图加载防止OOM

[在这里插入图片描述] 前言 Android官网中处理位图 [高效加载大型位图 ](https://developer.android.com/topic/performance/graphics/...在解码时将inJustDecodeBounds 属性设置为 true 可避免内存分配,为位图对象返回 null,但设置 outWidth、outHeight outMimeType。...此方法可让您在构造位图并为其分配内存之前读取图片数据尺寸类型。...先看一些基础知识(后面有答案) Android官网-提供备用位图 这篇文章链接中有讲到: 要在像素密度不同设备上提供良好图形质量,您应该以相应分辨率在应用中提供每个位图多个版本(针对每个密度级别提供一个版本...否则,Android 系统必须缩放位图,使其在每个屏幕上占据相同可见空间,从而导致缩放失真,如模糊。

2.6K00

Bitmap图片压缩,大图加载防止OOM

在这里插入图片描述 前言 Android官网中处理位图 高效加载大型位图 这两篇文章中已经做了很明确指出了如何高效加载大图。...在解码时将inJustDecodeBounds 属性设置为 true 可避免内存分配,为位图对象返回 null,但设置 outWidth、outHeight outMimeType。...此方法可让您在构造位图并为其分配内存之前读取图片数据尺寸类型。...先看一些基础知识(后面有答案) Android官网-提供备用位图 这篇文章链接中有讲到: 要在像素密度不同设备上提供良好图形质量,您应该以相应分辨率在应用中提供每个位图多个版本(针对每个密度级别提供一个版本...否则,Android 系统必须缩放位图,使其在每个屏幕上占据相同可见空间,从而导致缩放失真,如模糊。 ?

1.9K20

Android使用API实现图像扭曲效果示例

1] = y; } public SampleView(Context context) { super(context); setFocusable(true); //加载图片 mBitmap = BitmapFactory.decodeResource...(getResources(), R.raw.beach); //获取图像宽度高度 float w = mBitmap.getWidth(); float h = mBitmap.getHeight...canvas上所有对象. canvas.concat(mMatrix); /** * bitmap      需要扭曲位图 * meshWidth   控制在横向上把该源位图划成成多少格 * meshHeight...    控制在纵向上把该源位图划成成多少格 * verts       长度为(meshWidth + 1) * (meshHeight + 1) * 2数组,它记录了扭曲后位图各顶点位置 * vertOffset...Matrix可参考:https://www.zalou.cn/article/121048.htm 更多关于Android相关内容感兴趣读者可查看本站专题:《Android图形与图像处理技巧总结》、

53630

Android中的人脸检测示例代码(静态动态)

(3) 静态图片处理代码实例: 通过对位图处理,捕获位图中的人脸,并以绿框显示,有多个人脸就提示多个绿框。...最后得到结果如下,图片资源是png也可以。 ? (4) 动态预览识别人脸代码实例 该过程用于后台工作,没有界面也没有预览。所以没有采用上面那种处理位图资源方式。...Import类就不列出了,核心代码流程如下: A,打开摄像头,获得初步摄像头回调数据,用到是setpreviewcallback protected Camera mCameraDevice...void onPreviewFrame(byte[] data, Camera camera){ mScanEndTime = System.currentTimeMillis(); //记录摄像头返回数据时间...numberOfFaceDetected = localFaceDetector.findFaces(localBitmap2, arrayOfFace); //返回识脸结果 localBitmap2

1K20

Drawable.Bitmap.Canvas.Paint.Matrix

由于对Drawable、Bitmap、Canvas、Paint Matrix 关系使用 一直不太清楚,就在网上搜集了一下,摘录一些,主要来看这两篇文章:Drawable、Bitmap、Canvas...Paint关系以及部分使用方法 Android显示系统之Pixel、Bitmap、Drawable、Canvas、PaintMatrix之间联系 首先让我们理解下Android平台中显示类是...Bitmap – 称作位图,一般位图文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888、ARGB8888。作为一种像素显示对象 执行效率高,但是存储效率低缺点也很明显。...他管理了每个画图工具字体、颜色、样式。 如果涉及一些Android游戏开发、显示特效可以通过这些底层图形类来高效实现自己应用。 1....从资源中获取Bitmap ① 通过decodeResource,这种方式不可取,因为这些函数在完成decode后,最终都是通过java层createBitmap来完成,需要消耗更多内存。

1.4K60

Android开发之圆角矩形创建工具RoundRect类定义与用法分析

分享给大家供大家参考,具体如下: 用于把普通图片转换为圆角图像工具类RoundRect类(复制即可使用): RoundRect.java import android.content.Context;...*/ Bitmap toRoundRect(String path) { //创建位图对象 Bitmap photo = lessenUriImage(path); return Transformation...*/ Bitmap toRoundRect(Context context, int imageID) { //创建位图对象 Bitmap photo = BitmapFactory.decodeResource...(); options.inJustDecodeBounds = true; Bitmap bitmap = BitmapFactory.decodeFile(path, options); //此时返回...更多关于Android相关内容感兴趣读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity

1.1K10

Android训练课程(Android Training) - 高效显示图片

下面是一些 为什an么在你Android应用程序加载位图是棘手原因 : 移动设备通常拥有受限系统资源。Android设备分配给每个应用可用内存空间只不过16MB。...Android应用UI 需要即时地加载多个位图。像ListView,GridView ViewPager 组件 通常包含多个位图在屏幕上,更多可能性在关闭屏幕时,使用手指拨动,立即准备去显示。...,以从不同数据源创建位图对象。基于你图像数据源来选择合适解码方法。这些方法作用是为结构化位图分配内存,因此很容易返回OutOfMemory 异常。...设置 inJustDecodeBounds 属性为 true可以忽略内存分配步骤,它会返回 null 位图对象,但是为选项outWidth, outHeight outMimeType 赋值了。...加载图片所用时长是不可预测依赖多个因素(从硬盘或者网络读取速度,图像尺寸,CPU能力等等)。

2.9K00

Android开发中Bitmap高效加载使用详解

由于Android对单个应用所施加内存限制,比如16MB,这导致加载Bitmap时候很容易出现内存溢出,本文主要包含2个方面的内容分析Bitmap内存Bitmap高效加载 一、占用内存 获取bitmap...内存,android提供方法bitmap.getByteCount() 假如现在mipmap-xhdpi 目录下,有一个 200 * 200 像素图片,运行加载它,看它输出尺寸。...对应densityDpi是480 density densityDpi 在 Android 中,都有标准 API 可以拿到,如下。...它代表只有RGB通道编码,其中红色占用5位地址,绿色占用6位地址,蓝色占用5位地址。没有透明度通道。 使用不透明位图时,不要求高色彩保真度使用此配置是不错选择。...能够满足最好位图质量,在内存充足情况下,十分推荐使用这个。

88620

自定义圆形图片

, TileMode); 调用这个方法来产生一个画有一个位图渲染器(Shader) 看参数 bitmap 即在渲染器内位图 TileMode ,分为三类 1、CLAMP  :如果渲染器超出原始边界范围...,会复制范围内边缘染色,即拉伸 2、REPEAT :横向纵向重复渲染器图片,平铺,即重复 3、MIRROR :横向纵向重复渲染器图片,这个REPEAT重复方式不一样,他是以镜像方式平铺,类似于湖上物体湖中倒影...使用这个类目的,就是把它对象设置给Paint ,而Paint会根据TileMode进行绘制位图 二、实现圆形图片步骤 首先,ImageViewImageButton需要图片, 有两种生成圆形图片方法...10 width = bitmap.getWidth(); 11 height = bitmap.getHeight(); 12 //获取bitmap位图宽高中最小值...; 4 import android.graphics.*; 5 import android.os.Bundle; 6 import android.widget.ImageView; 7

1.9K80

Android 开发 - 对图片进行虚化(毛玻璃效果,模糊)

概述 IPAD,IPHONE上首页背景模糊效果是不是很好看,那么在 Android中如何实现呢。我通过一种方式实现了这样效果。...开源库 名称:anroid-image-blur 描述:一个android对图片进行模糊辅助类库 作者:张云飞vir Github地址 https://github.com/vir56k/anroid-image-blur...即把一种图片变得模糊,虚,类似在拍照时看到虚。 在ios系统中,主系统启动后背景就是一个虚化效果。 给人一种浸入感觉,背景内容是有关联。 介绍 把一个图片 进行虚化生成新图片。...(img1, 20, 10); 通过 BlurUtil doBlur方法 出入一个 位图bitmap,该方法返回一个 虚化(模糊)后位图。...返回值: 返回一个 虚化(模糊)后位图

2.6K00
领券