码迷,mamicode.com
首页 > 其他好文 > 详细

Bitmap too large to be uploaded into a texture

时间:2014-11-13 23:47:25      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:des   android   blog   http   io   ar   sp   java   div   

从手机相册里面显示图片,但是发现有的图片能显示有的图片不能显示,路径都是对的,程序也没提示任何错误。
后来通过看日志发现error message: Bitmap too large to be uploaded into a texture (4208x3120, max=4096x4096):
bubuko.com,布布扣
 
经过查找资料是因为当开启硬件加速的时候,GPU对于openglRender 有一个限制,这个不同的手机会有不同的限制。
简单说就是硬件加速的时候,对图片的大小有限制。不同设备可能有不同的最大值。这个问题悲催的地方是,程序貌似没有捕获到这个exception, 结果是程序也不报错,图片也显示不出来。
 
一个解决的方法是禁止硬件加速 
 <application android:hardwareAccelerated="false" ...>
 
 
    /**
     * 把uri 转换为 bitmap          注意要关闭硬件加速!!否则会因为图片超大而不显示
     * @param mContext
     * @param mUri
     * @return
     */
    public static  Bitmap readBitmapUri(Context mContext,Uri mUri) {
        ContentResolver contentProvider = mContext.getContentResolver();
        Bitmap bmp = null;
        try {
            bmp = BitmapFactory.decodeStream(contentProvider.openInputStream(mUri));

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return bmp;

    }

  

Bitmap too large to be uploaded into a texture

标签:des   android   blog   http   io   ar   sp   java   div   

原文地址:http://www.cnblogs.com/Ringer/p/4096050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!