and*_*lli 11 android textures bitmap
我在drawable目录中有一个960x1440大小的图像文件.当应用程序启动时,图像不会作为背景加载,我在logcat中看到:
位图太大而无法上传到纹理中(2880x4320,max = 4096x4096)
如果图像为960x1440,为什么会显示2880x4320?
位图通过xml加载:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/launcher_bg"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
Run Code Online (Sandbox Code Playgroud)
Bud*_*ius 48
/drawable/没有任何规格的文件夹中的图像被认为是"默认",即1dp = 1px,那是mpdi因为您实际运行的设备是xxhdpi在运行时放大的图像.
原始图像可能是960x1440,但是从转换mdpi到xxhdpi3倍大小,所以你960x1440成为(3×960)×(3×1440)= 2880x4320,这是太大的纹理应用到硬件加速意见.
所以要解决这个问题实际上很简单,你有两个选择:
/drawable-nodpi/简单,减小.apk大小,但低端设备可能很难加载这么大的图像.mdpi,hdpi,xhdpi,xxhdpi避免过度缩放运行时和在旧设备有更小的图像.| 归档时间: |
|
| 查看次数: |
15091 次 |
| 最近记录: |