Android中图片占用内存大小的计算方式

字节跳动面试官:一张图片占据的内存大小是如何计算 最近封装了个高斯模糊组件,正好将图片相关的理论基础也梳理了下,所以,这次就来讲讲,在 Android 中,怎么计算一张图片在内存中占据的大小,如果要优化,可以从哪些方向着手。 提问 阅读本篇之前,先来想一些问题: Q1:一张 png 格式的图片,图片文件大小为 55.8KB,那么它加载进内存时所占的大小是多少? Q2:为什么有时候,同一个 app,app 内的同个界面,界面上同张图片,但在不同设备上所耗内存却不一样? Q3:同一张图片,在界面上显示的控件大小不同时,它的内存大小也会跟随着改变吗? Q4:图片 阅读详情

1,首先就是作为默认的ARGB8888方式的图片占用的内存大小:长*宽*4/1024/1024.说明:长宽各指像素长度,4表示每一个像素点上有4个byte,因为每一个像素点是共有4个8位,一个8位为一个byte ,所以就是4byte,算出byte之后除以1024就是kb,在除以1024就是M.例如:ARGB8888 600*800*4/1024/1024=1.83M.

2,其他的计算方式就是像素点的大小不一样了,RGB565是2byte,ARGB4444也是2byte,而ALPHA_8则为1byte.

Android中Bitmap内存优化 一般来说,一个对象的使用,我们会尝试利用其构造函数去生成这个对象。在Bitmap中,其构造函数:通过构造函数的注释,得知这是一个给native层调用的方法,因此可以知道Bitmap的创建将会涉及到底层库的支持。为了方便从不同来源来创建Bitmap,Android中提供了BitmapFactory工具类。 阅读详情

相关推荐

图像压缩(1)RGB888与RGB565图像

最近在接触图像压缩相关项目,之前对图像压缩接触的较少,对检测分类识别相关的图像信号处理接触学习的相对比较多一些,所以也需要学习学习,搜集整理了一些资料,在这里简单做个笔记,也分享出来和大家交流学习。

sinat_34897952的博客 9060

不同图像格式pixel计算方法

一般来说,直接采集到的视频数据是RGB24的格式, RGB24一帧的大小size=width×heigth×3 Byte, RGB32的size=width×heigth×4 Byte, 如果是I420(即YUV标准格式4:2:0)的数据量是 size=width×heigth×1.5 Byte 如果是YUV422(即YUV标准格式4:2:2)的数据量是 size=width×heigth×2 Byte ...

jzwjzw19900922的博客 1373

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

Android中一张图片占据的内存大小是如何计算(1)

一张图片占用的内存大小的计算公式:分辨率 * 像素点大小;但分辨率不一定是原图的分辨率,需要结合一些场景来讨论,像素点大小就几种情况:ARGB_8888(4B)、RGB_565(2B) 等等。如果不对图片进行优化处理,如压缩、裁剪之类的操作,那么 Android 系统会根据图片的不同来源决定是否需要对原图的分辨率进行转换后再加载进内存。

2401_84121615的博客 1090

零基础手把手教你做FMEDA

本文通过分步骤手把手来教大家具体如何做FMEDA,希望对工作中要做FMEDA的童鞋有帮助。对于工作当中用不到FMEDA的童鞋,也可以作为科普知识,更好地了解一下FMEDA及硬件功能安全。

NewCarRen的博客 9926

开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)综述

综上,大多数工作均基于CLIP预训练的图像编码器和文本编码器。GlIP为解决目标检测任务提供了先例,后续很多工作常与目前较为广泛使用的目标检测网络结构相结合,从而构建新的开放词汇目标检测器。如ViLD基于Mask R-CNN、RegionCLIP基于R-CNN、VLDet和BARON基于Faster R-CNN。更具有创新性的工作是Detic,提出了使用图像分类的数据集来对目标检测器的分类头进行训练。

yangsn0719的博客 4400

ARGB内存占用

ARGB分别代表透明度;红;绿;蓝 argb_8888:每个像素占32位,a=8;r=8;g=8;b=8;一共8*4=32位,一个字节8位,共占四个字节; argb_4444:每个像素占16位,2个字节; rgb_565:每个像素占16位,2个字节;g代表的6位无效保留, alpha_8:每个像素占8位,1个字节; 位图位数越高,代表的图像越清晰,占用的内存也越大; 以argb_888

xiamo的博客 2424

XVF3800麦克风阵列实战:从选型到快速原型搭建

本文详细介绍了XVF3800麦克风阵列的选型与快速原型搭建实战经验。从开箱即用的特性到波束成形、回声消除等核心功能拆解,再到硬件设计避坑指南和固件开发技巧,帮助开发者高效实现智能语音设备的开发。特别适合智能音箱、会议终端等需要远场拾音和声源定位的应用场景。

weixin_29161719的博客 273

如何计算初始图片的大小?像素,分辨率

位图具有特定的颜色深度,是每个像素的位数。位图中的每个像素都有相同数量的位,它决定了图像中有多少不同的颜色。在图像压缩前可以自己算出图像的大小,比如说在PhotoShop中创建一张1600*1200的图片,并选择了RGB每色8位(也就是一个像素24位)的话,就可以算出图片大小为5.49MB,过程为:1600*1200*24(位像素)/8(1字节8位)/1024(1KB=1024B)/1024(1M

码农的田园 1万+

【Unity】Pico VR 开发实战:从环境搭建到交互实现

本文是一份详细的Unity Pico VR开发实战指南,涵盖从环境搭建到核心交互实现的全流程。详细讲解了如何集成Pico Unity Integration SDK与XR Interaction Toolkit,配置开发环境,并重点解析了手柄输入处理、射线交互以及VR UI操作三大核心模块的代码实现与优化技巧,帮助开发者快速上手Pico VR应用开发。

rice5的博客 1173

Tlsr8258开发-程序烧写

开源一小步,进步一大步

自学嵌入式 1774

android 计算图片占用内存大小

android 中计算图片占用内存大小公式: 占用内存大小 = 横向显示像素 * 竖向显示像素  * 单个像素占用字节数 ; 显示像素 = 图片实际像素 * 手机density / 图片density ; 图片density根据图片放在哪个目录来决定,参考下图 如果放在drawable目录,与放在mdpi目录相同。如果放在drawable-nodpi目录,图片density

ziyuanyulong的专栏 1549

大数据领域数据架构的工业互联网数据架构设计

工业互联网作为第四次工业革命的重要驱动力,正在深刻改变传统制造业的生产方式和商业模式。本文旨在探讨工业互联网环境下的大数据架构设计,重点解决工业数据采集、传输、存储、处理和分析等关键环节的技术挑战。工业互联网数据架构的核心组件大数据技术在工业场景下的应用数据治理和质量控制边缘计算与云计算的协同架构背景介绍:建立基本概念和问题域核心架构:详细解析工业互联网数据架构技术实现:通过代码和数学模型展示关键技术实践案例:展示真实场景应用工具资源:推荐实用开发工具和学习资源。

软件工程实践的博客 855

Android中一张图片占据的内存大小是如何计算

一张图片占用的内存大小的计算公式:分辨率 * 像素点大小;但分辨率不一定是原图的分辨率,需要结合一些场景来讨论,像素点大小就几种情况:ARGB_8888(4B)、RGB_565(2B) 等等。如果不对图片进行优化处理,如压缩、裁剪之类的操作,那么 Android 系统会根据图片的不同来源决定是否需要对原图的分辨率进行转换后再加载进内存。

2401_89820084的博客 914

5步VS传统WinForm!AntdUI让界面设计从“土味”到“超模”只需30秒?

摘要:墨瑾轩编程教程《AntdUI的5大魔法步骤》详解如何将传统WinForm升级为现代化UI。教程通过5个核心步骤:安装AntdUI库、控件替换、主题定制、复杂布局构建及实战案例演示,对比传统开发与AntdUI在美观度(动态阴影/动画)、开发效率(拖拽组件VS手工绘制)和主题定制(一键换肤VS重写控件)的显著差异。使用C#代码示例展示按钮动画、3D翻转、聊天界面等特效实现,帮助开发者快速掌握这一基于Ant Design风格的WinForm增强框架。(150字)

java专栏 1127

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 图片压缩

Android中最占内存的肯定是图片资源了,使用大图很容易造成OOM,就算是小图,使用不当也会造成很大的资源浪费。有一点需要明确一下,图片最终占内存跟图片大小本身没什么关系,比如说有一张1k的图片,还有一张1M的图片,两张图片加载到内存中设置的长宽一样,图片质量也一样,那么他们他们占的内存是一样大的。 如何计算图片占内存大小呢? 图片加载到内存中的长*图片加载到内存中的宽*一个像素点所占内存

robert的专栏 2277

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android图片磁盘大小吗,Android - 一张图片到底占用多少内存

1. 概述在做内存优化时,一般只要处理两点,应该就解决了绝大部分的问题。第一是内存泄露,第二就是图片问题。解决图片问题是实实在在能够看得见的,减少内存的占用。假设有一张图片是 600 * 800,假设占用空间100k。2. 容易混淆的概念?2.1:图片内存大小与占用空间大小?1>:图片内存大小:指图片加载到内存中,占用内存的大小;2>:占用空间大小:指在磁盘上占用的空间;2...

weixin_42515045的博客 313

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android bitmap内存大小,Android——Bitmap占用的内存大小

一、作用知其然二、概念1. 几个小概念像素:组成画面的基本单位,像素没有物理尺寸。可以任意缩放去适配显示屏的像素点大小。不同设备上一个单位像素色块的大小是不一样的(2)dp设备独立像素,用于适配各种屏幕。所有显示到屏幕上的图像都是以px为单位的,dp是我们开发中使用的长度单位,最后也需要转换成px。px=dp*dpi/160dpi/160得到基准比例求以dp布局的 TextView 占用的实际像...

weixin_39637614的博客 363

android获取位图字节数,Android-图片占用内存大小

1.基本概念densityDpi?这是屏幕像素密度,一英寸屏幕有多个像素点。通过以下方法可以获取float densityDpi= getResources().getDisplayMetrics().densityDpi;打印日志,我手机的densityDpi是480。2020-08-28 11:20:07.242 20647-20647/com.yang.memorytest D/test: ...

weixin_40007175的博客 508

android图片资源加载和异常

图片来源有网络图片 手机存储图片 资源图片  以前一般网络图片用图片加载库来加载  手机存储图片一般用BitmapFactory来加载  资源图片分为xml里的src与background 和hdpi或xhdpi里的图片  xml里的framework用a.getDrawable来加载 hdpi里的图片我们一般用setImageResource或setBackgroundResource来设置  ...

nailsoul的专栏 3456

【Android进阶笔记】图片优化(理论大小和实际大小的计算方式)

文章目录1. 图片压缩格式1.1. 常见的图片格式1.2. WebP格式2. Android内存中的图片2.1. 位图配置Bitmap.Config2.2. 计算占用内存大小2.2.1. 理论值2.2.2. 实际值3. 图片压缩3.1. 质量压缩3.2. 采样率压缩3.3. 尺寸压缩3.4. 图片压缩总结3.5. 实际效果对比 1. 图片压缩格式 1.1. 常见的图片格式 格式 质量 透明 压缩方式 png 较高 支持 图片压缩算法。把相似的颜色压缩在一起 jpg/jpeg 良好 不

Android学习笔记 933

Android_图片这点事_Bitmap

Android中的图片读取方式Bitmap Android中有以下四种图片格式ARGB_8888,ARGB_4444,RGB_565,ALPHA_8,其中 A 代表 :Alpha 透明度 R 代表 :Red 红色 G 代表 :Green 绿色 B 代表 :Blue 蓝色 下图中以1像素所占用的内存进行说明 色彩模式 ARGB_8888 ARGB_4444 RGB_565 ALPHA_8 A 8位 4位 0位 8位 R 8位 4位 5位 0位 G 8位

zhezi521的博客 636

Bitmap加载内存分析

Bitmap加载内存分析 一个像素所占的内存,有以下几种像素格式:2.从本地磁盘 、asset、等方式中加载图片 当使用第三方库时,则不能用这些公式来计算,因为三方库内部会重新对内存进行优化。 eg: fresco:不管图片来源是哪里,即使是 res,图片占用的内存大小仍旧以原图的分辨率计算。 Glide:如果有设置图片显示的控件,那么会自动按照控件的大小,降低图片的分辨率加载。图片来源是 res 的分辨率转换规则对它也无效。1、图片分辨率,也就是图片尺寸 2.........

MirkoWug的博客 634

高效使用Bitmaps(一) 大Bitmap的加载

转自:http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处? 我 们常常提到的“Android程序优化”,通常指的是性能和内存的优化,即:更快的响应速度,更低的内存占用。Android程序的性能和内存问题,大部 分都和图片紧密相关,而图片的加载在很多情况下很用到Bitmap(位图)这个类。而由于Bitmap自身的特性(将每个...

weixin_30381317的博客 113
上一篇: 开发中常用的app神器
下一篇: 学习Retrofit_持续性更新
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值