解决:Bitmap too large to be uploaded into a texture

前提是你 提交于 2020-01-07 17:45:24

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

简单说就是硬件加速的时候,对图片的大小有限制。不同设备可能有不同的最大值。这个问题悲催的地方是,程序貌似没有捕获到这个exception, 结果是程序也不报错,图片也显示不出来。只有看debug log才能发现这个error message.

 

一个解决的方法是禁止硬件加速,简单粗暴:有关

 

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

 

比较好的解决方法是类似google map的实现:将图片分成不同的块,每次加载需要的块。android提供了一个方法:(http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html

public void drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)

public Bitmap decodeRegion (Rect rect, BitmapFactory.Options options)

采取上述操作后,就可以加载很多图片,同时也可以显示超级大图了。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!