您的位置:首页 > 移动开发 > Android开发

【史上最简单】android硬件加速——关于图片过大无法显示,直接变黑色问题

2015-03-31 10:53 706 查看
最近项目中做了一个头像选择功能,没有使用系统自带的裁剪功能,自己写的图片裁剪,发现在裁剪全景图片时候出现了问题,无法正常显示,图片变成了黑色。在ecplice中没有报错!!!打印出一条***警告语句:


Bitmap too large to be uploaded into a texture (440x2302, max=2048x2048)

查了一些资料,出现的原因:从Android3.0 (API level 11)开始,Android的2D显示管道被被设计得更加支持硬加速了,并且程序默认支持加速,即 android:hardwareAccelerated="true".硬件加速使用GPU承担了所有在View的canvas上执行的绘制操作。硬件加速是个好东西,可以让ListView、WebView滑动的更流畅,但是也总是会出现一些莫名其妙的的问题。
1、edittext文件重叠
2、大图图片显示不出来
。。。
解决方法:1、直接关闭硬件加速整个应用application: <application android:hardwareAccelerated="false" 。。。。。。>单个activity:<activity android:hardwareAccelerated="false"。。。。。。>2、将图片分成不同的块,每次加载需要的块。android提供了一个方法:
public
void
drawBitmap
 (Bitmap bitmap, Rect src, RectF dst, Paint paint)
public
Bitmap
 decodeRegion (Rect rect, BitmapFactory.Options options)
参考:、
http://api.apkbus.com/reference/android/graphics/BitmapRegionDecoder.html

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐