归档: 2017/3

共 47 篇文章

Android Bitmap的内存大小是如何计算的?

一、前言

本来只想说下Bitmap和内存的基本关系,但发现如果真的想把这看似简单的事情说清楚,实际上未必那么简单,你不信?不妨先尝试下回答下面几个问题!

  • 问1:什么是dpi?什么是dp?答:你在侮辱我?我拒绝回答!(:无辜脸
  • 问2:以Nexus6为例,分辨率1440*2560,5.96英寸,ppi是什么?dpi是什么?1dp是多少像素?
  • 问3:还以Nexus6为例,一张180*180的图片,放置在设置了wrap_content属性的ImageView中,当这张图片,分别放在drawable-nodpi,drawable-mdpi,drawable-hdpi, drawable-xxhdpi,drawable-xxxhdpi这几个资源目录中,在屏幕上分别显示多大(像素)的图片?
  • 问4:这张图片占用的内存大小分别为多少?
  • 问5:如果设置ImageView的宽和高为固定的值,如50px,那么上述情况下,加载的Bitmap占用内存大小分别为多大?

本文主要围绕上述问题,介绍Android图片资源加载的基本机制,图片的内存大小如何计算,以及内存图片分析工具。

Read More