我有一个覆盖整个屏幕的自定义 ImageView。图像来自可绘制文件夹之一,drawable-hdpi、drawable-xhdpi、drawable-sw600dp 等,每个密度桶都有单独的图像。
到目前为止,该应用程序在 xhdpi 和 hdpi 设备上运行良好,当我在 Nexus 7 上测试它时会出现问题。存储在 sw600dp 文件夹中的图像大小为 1600x1600,应该足以直接在屏幕上绘制(无需缩放),但是当我运行该应用程序时,屏幕变成完全空白,并且我收到以下警告:
03-04 16:25:46.338: W/OpenGLRenderer(25457): 位图太大而无法上传到纹理中 (2130x2130, max=2048x2048)
由于某种原因,1600x1600 位图被缩放到 2130x2130,尽管我没有在任何地方手动缩放它(没有应用矩阵后缩放或 scaleX/scaleY)
关于为什么会发生这种情况的任何想法?请提供解决方案并解释为什么会发生这种情况。