Android texture限制问题

问题描述:今天开发Make Face,调试时发现程序突然挂了,也没有报错。看了LogCat,看到如下log:
Bitmap too large to be uploaded into a texture (3264x2448, max=2048x2048)
问题分析:硬件加速的时候,对图片的大小有限制。不同设备可能有不同的最大值。
问题解决:方法有两种
第一种:关闭硬件加速
1.Application级别

<application android:hardwareAccelerated="true" ...>

2.Activity级别

<application android:hardwareAccelerated="true">
    <activity ... />
    <activity android:hardwareAccelerated="false" />
</application>

3.Window级别

getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

4.View级别

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

第二种:使用BitmapRegionDecoder加载
http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注