我们接着上篇文章Android 基础篇 — 不同DPI取哪个本地文件夹中的资源

讲,文末尾提到一个问题,为什么不同drawable文件夹中的图片大小在终端设备会不一样?

1 准备

在drawable-xhdpi文件夹中放入一张550 x 550的图片pic2,然后运行。老规矩,我们先上测试代码:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic2);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

LogUtils.d("memory 1: " + bitmap.getAllocationByteCount());

} else {

LogUtils.d("memory 2: " + bitmap.getByteCount());

}

LogUtils.d("height: " + bitmap.getHeight());

LogUtils.d("width: " + bitmap.getWidth());

输出日志如下:

memory 1: 2286144

height: 756

width: 756

我使用的测试机信息如下:

density: 2.75

densityDpi: 440

2 问题

那么问题来了,为什么图片的宽高会变成756呢?回忆一下,xhdpi文件夹对应的density值为2,既然和手机2.75的值不完全匹配,猜测有可能会等比例缩放。

由此得出以下计算内容:

手机density / drawable文件夹density = 图片最终大小 / 图片原始大小

得出以下内容:

2.75 / 2 * 550 = 756.25 ≈ 756

为了验证想法,我们再将图片放至其他drawable文件夹中试试看,比如放入xxhdpi(dpi=3)中:

memory 1: 1016064

height: 504

width: 504

2.75 / 3 * 550 = 504.166666667

果然和猜测的是一样。

最后又抛出一个问题:那资源图片到底应该放入哪个文件夹中最合适呢?

3 结论

图片最终大小 = 手机density / drawable文件夹density * 图片原始大小

android各目录大小,Android 基础篇 — 放不同drawable文件夹中图片的大小相关推荐

  1. android(drawable文件夹)图片适配

    说到android的drawable文件夹没搞清楚就开始开发爱屁屁简直就是噩梦一般的存在 很荣幸,我就经历了这个过程...... 废话不多说,直接上干货(参考http://blog.csdn.net/ ...

  2. android drawable 图片大小,不同的drawable文件夹下图片加载到内存后图片尺寸大小的分析...

    先说结论: 不同drawable文件下图片在同一手机图片尺寸是不同的 同一个drawable文件夹下的图片在不同分辨率的手机图片尺寸是不同的 先聊下DP 要在密度不同的屏幕上保留界面的可见尺寸,您必须 ...

  3. winfrom保存图片,将文件夹中图片放入listview,与撤回操作

    之前那些操作完成对图片的修改之后,就是要保存图片了. 这里保存用到一个SaveFileDialog控件,可以获取用户选择的保存文件的路径. if (pictureBox1.Image.Width &g ...

  4. cmd到指定目录并执行命令 mysql到bin目录并执行命令 cmd bat进入指定文件夹中并执行命令

    其实就一条命令:(保存为bat格式,注意:有两个and希腊字母 && ) cmd /k "cd /d Your ProjectPath&&Your CMD c ...

  5. Android文件夹占用空间分析,关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析...

    从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...

  6. 关于Android中图片大小、内存占用与drawable文件夹关系的研究与分析

    从上一篇文章<Android屏幕适配全攻略>写完之后,经常会有朋友问我这个问题:"能不能一个App只提供一套切图适应所有的分辨率呢?"我觉得有必要写一篇文章来研究一下这 ...

  7. android raw获取uri_音频-获取存储在android的res / raw文件夹中的.mp3文件的URI

    音频-获取存储在android的res / raw文件夹中的.mp3文件的URI 我在res / raw文件夹中存储了许多.mp3文件. 我正在使用以下代码获取.mp3文件的URI. Uri.pars ...

  8. matlab读取一个文件的图片大小,Matlab读取文件夹中子文件夹中的图片并修改尺寸...

    今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛 就让他去百度 结果只百度到处理文件夹中图片的程序 好吧 这里放上如何处理文件夹中子文件夹的图片 现状:在一个名为casia的文件夹中,里面有 ...

  9. Android 音视频开发之基础篇 使用 SurfaceView绘制一张图片

    Android 音视频开发 上一篇文章:使用 imageview绘制一张图片 任务一 SurfaceView绘制一张图片 文章目录 Android 音视频开发 前言 一.surfaceview是什么? ...

最新文章

  1. 正则表达式之python3版
  2. xampp php连接mysql数据库_关于PHP xampp连接数据库之后查询失败,数据库连接成功,表中也有数据...
  3. PL/SQL提示“ORA-01722:无效数字”
  4. 为什么选择 npm script?
  5. 【Eclipse】Eclipse中tomcat的Server配置(解决修改代码不断的重启服务器)以及设置tomcat文件发布位置与JSP编译位置查看...
  6. [转载]心灵丨愿你早一点发现,你才是自己最重要的粉丝
  7. 博时基金的大数据平台建设之道
  8. python标准化输出到txt_3大利器推荐,帮你写出规范漂亮的python代码
  9. 数据中心业务中断 多与运营流程有关
  10. QQ浏览器怎么关闭云加速 QQ浏览器云加速关闭方法
  11. CI框架 url指向错误 配置根目录
  12. ZigBee学习之NXP JN5169开发环境搭建
  13. 微信小游戏可视化开发工具
  14. 简谈:java种关于BigDecimal的坑
  15. Adobe InDesign繁体字转简体字
  16. strcmp与strncmp与memcmp的区别
  17. delphi每次mysql密码BDE_关于DELPHI中BDE连接不上ORACLE数据库的問題
  18. 决战Python之巅(一)
  19. CAD2017软件安装资料及教程
  20. 会计学子就业前景分析

热门文章

  1. Welcome email
  2. 报名中 | 微软首席人工智能科学家邀你参加一场AI领域的私密聚会
  3. 【干货】从国外知名网站看用户体验4个基本标准
  4. 【运营】策划朋友圈营销必知的微信八大“封杀”规则
  5. 0.0.5、Linux命令
  6. 使用vs2015开发linux:Ubuntu程序
  7. 为 git 设置 http 代理
  8. ServiceStack.Redis——Redis于.net向上client解
  9. 在Qt中用默认程序打开文件
  10. 眼睛很疼(2005-5-10)