Tag: 大小

为什么在Android中加载jpg资源时图像的大小会发生变化?

我创建了一个新的Android项目,并在res/drawable文件夹中放置了一个map.jpg文件。 它的统计是这样的,由file命令报告: map.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 200×200, segment length 16, baseline, precision 8, 1000×846, frames 3 (尺寸1000×846。) 该项目使用min SDK版本21和目标SDK版本24。 我在我的类(这是一个View子类)像这样(Kotlin)打开文件: mBitmap = BitmapFactory.decodeResource(resources, R.drawable.map) Log.i(TAG, “Our map’s size is ” + mBitmap.width + “x” + mBitmap.height) 在仿真器(480×800 hdpi,API级别25)中运行时,会将位图大小报告为1500×1269,或者从文件大小中缩放1.5x。 在设备上运行(三星Galaxy A3,API级别24)报告的大小为2000×1692,或缩放2倍。 为什么会发生? 什么是加载的位图的大小取决于? (顺便说一句,通过resources.getDrawable()和Drawable.getIntrinsicWidth()读取资源的另一种方式报告相同的大小。)