关于android中在加载图片时,提示Bitmap too large to be uploaded into a texture异常时的处理办法
关于这个问题可以简单的理解为,由于Bitmap太大了,造成了Android无法进行渲染。
为了解决这个问题,可以采用关闭硬件加速的方式。具体方法为通过使用GLES10.glGetIntegerv方法来获取openglRender的限制值,并且根据bitmap的宽高大小来判断是否需要关闭对应控件的硬件加速功能。
public static boolean isNeedCloseHardwareAcceleration(int w, int h) {
int[] maxSize = new int[1];
GLES10.glGetIntegerv(GL10.GL_MAX_TEXTURE_SIZE, maxSize, 0);
if (maxSize[0] < h || maxSize[0] < w) {
return true;
}
return false;
}
如何关闭视图的硬件加速功能
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
注意View是只能关闭硬件加速的
网友评论