专栏首页Android点滴积累Android高效内存1:一张图片占用多少内存

Android高效内存1:一张图片占用多少内存

  在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大部分内存可能被我们图片占用了,所以减少图片的内存占用可以带来直接的效果。本文就简单介绍一张图片到底占用多少内存,我们先假设我们有一张图片时 600 * 800 的,图片占用空间大小假设是 100KB另外本文知识点也是面试官喜欢问的一个点,看看自己的回答到什么级别了。

图片内存大小跟占用空间大小有什么关系?

  占用空间的大小不是图片占用内存的大小,一些初学者可能会误解一下。占用空间是在磁盘上占用的空间,内存大小是加载到内存中占用的内存大小。两个只是单位是一样的,本质不是一个概念。

一张图片到底占用多少内存呢?

  1. 图片占用内存的计算公式:图片高度 * 图片宽度 * 一个像素占用的内存大小

  2. 所以上面的图片占用内存是:800 * 600 * 4 byte = 1875KB = 1.83M 

上面的计算公式中,为什么是4byte呢?

4byte是跟图片的编码格式有关系,更多详情请移步

https://cloud.tencent.com/developer/article/1013306

图片所在目录对内存的影响?

  在Android中,图片的存放目录和手机的屏幕密度影响图片最终的大小,举个例子:

  假设我们的图片放到xhdpi目录下,那么我们本文中的图片占用的内存大小如下:

  屏幕密度为2的设备:800 * 600 * 4byte = 1.83M

  屏幕密度为3的设备:800 * 1.5 * 600 * 1.5 * 4byte = 1.83 * 2.25M = 4.12M

  所以,计算图片占用内存大小的时候,要考虑图片所在的目录跟设备密度,这两个因素其实影响的是图片的高宽,android会对图片进行拉升跟压缩。

总结

  1. 图片确实很占用内存,内存优化先考虑图片内存占用;

  2. 一定要避免使用大图片,这就是.9图很有用的原因之一;

  3. 图片的大小对内存的影响是正比关系;

  4. 本文只是简单的告知读者怎么计算图片的内存大小。

  5. 如何减少图片内存占用的方法总结请看 https://cloud.tencent.com/developer/article/1013306

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android高效内存之让你的图片省内存

    Android高效内存之让你的图片省内存        在做内存优化的时候,我们发现除了解决内存泄露问题,剩下的就只有想办法减少真实的内存占用。而在App中,大...

    用户1155943
  • Android高效内存2:让图片占用尽可能少的内存

    Android高效内存:让图片占用尽可能少的内存 一、让你的图片最小化 1.1 大图小图内存使用情况对比 大图:440 * 336    小图:220 * 16...

    用户1155943
  • Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

    Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动...

    用户1155943
  • Android 内存暴减的秘密?!

    商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。

    WeTest质量开放平台团队
  • Java的内存机制

    Java 把内存划分成两种:一种是栈内存,另一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时...

    哲洛不闹
  • 内存虚拟化

    除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机。虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序...

    后端云
  • 有效解决Android加载大图片内存溢出的问题

    解决Android加载大图片内存溢出的问题 非著名程序员 ? 今天在交流群里,有人问我他经常遇到加载图片时内存溢出的问题,遇到的情况还是在自己的测试机或者...

    非著名程序员
  • RIST: What is the Future?

    本文来自The Broadcast Knowledge,演讲者为Rick Ackermans,射频与传输工程总监。演讲主要介绍了什么是RIST协议:RIST的历...

    用户1324186
  • 怒薅羊毛:白嫖GitHub作为个人博客免费图床

    很多小伙伴私信反馈说,个人博客搭建完以后,写文章时,图片上传和存放成了一个问题。我看很多人都把图片放在仓库一起,然后试图通过相对路径的方式来引用图片,结果很多人...

    AI算法与图像处理
  • 临沂大学与安恒信息战略合作 聚力临沂网安服务

    4月26日-28日,以“新时代,新安全,新力量”为主题的“西湖论剑·网络安全大会”在杭州举行。会上,临沂大学(临沂市网络安全协同创新中心)与安恒信息签订了网络安...

    安恒信息

扫码关注云+社区

领取腾讯云代金券