从上一篇文章《Android屏幕适配全攻略》写完之后,经常会有朋友问我这个问题:“能不能一个App只提供一套切图适应所有的分辨率呢?”我觉得有必要写一篇文章来研究一下这个问题,所以就有了这篇文章。
研究内容
本篇内容主要探讨以下场景:同一张图片,放置在不同的drawable文件夹,在同一设备上运行,对图片大小及内存占用有什么影响。
研究方法
- 控制变量法
- 分析法
测试环境
采用锤子T1手机(1080*1960,xxhdpi)进行测试
对于内存的查看,使用AS自带的内存查看工具。
图片大小使用如下代码获取
private void printBitmapSize(ImageView imageView) {
Drawable drawable = imageView.getDrawable();
if (drawable != null) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
Bitmap bitmap = bitmapDrawable.getBitmap();
Log.d(TAG, " width = " + bitmap.getWidth() + " height = " + bitmap.getHeight());
} else {
Log.d(TAG, "Drawable is null !");
}
}
研究过程
下面将给出测试的过程的截图,然后进行分析和总结
下面的测试使用的是一张720*1280分辨率的png图片,32位色,占用硬盘大小为77.11k
下面给出测试工程代码,非常简单
主界面
public class MainActivity extends