android bitmap相关内容小结和漫想
来源:互联网 发布:unity3d怎么制作人物 编辑:程序博客网 时间:2024/04/27 18:02
Bitmap内容小结和漫想
1.显示方向不对
有时候将jpg图片在内存解码后,进一步缩放旋转等处理,处理完成后,将bitmap编码成jpg文件写入sd卡,但是忘了写入或者矫正exif信息,下次decode显示这张图片,可能出现显示方向不对问题。原因在于没有获取exif方向参数,或者方向参数错误,不能自动矫正。有时间要看看BitmapFactory的nativeDecode系列方法解码流程.
2.decode小段字节数组抛OOM错误
取图形验证码时,有时候为了减少访问服务器次数,服务器直接将图片的二进制流简单编码后返回给客户端,如果字节数组不是有效的jpg流或者客户端没有解码成正确的原始jpeg流,调用decodeByteArray很有可能出现OOM错误。
提到OOM,不能不提BitmapFactory.Options和Bitmap.Config。
Options最常用的功能就是从jpg头提取图片尺寸,以及对原图子采样。
Bitmap.Config会涉及到像素格式和字节序等底层细节问题,android framework一般都处理好了,应用开发一般用的不多。
android 3.0之前bitmap是在本地堆中分配内存解码,在频繁解码的场景下,如果忘了及时调用recycle方法释放本地堆,仅仅靠finalize方法释放,很有可能出现问题。
android 3.0之后,bitmap是在java堆中存储,再没有这个问题。
bitmap 这个类本身非常简单,android3.0以后就是用byte[]存储像素信息,额外提供一些方法变换像素,用于显示,具体编码解码工作都扔给了本地方法, 如果Bitmap这个类不是final,在一些频繁编码解码场景可以考虑用libjpeg等库自行优化编码解码效率.
3 设置imageview的缩放方式(scaleType)
方式有很多,感觉记住常用的cropCenter, fitCenter, fitXY基本够用。
- android bitmap相关内容小结和漫想
- Android Bitmap 小结
- android Bitmap小结
- android Bitmap用法小结
- android Bitmap小结
- Android Bitmap和Canvas
- Android Bitmap和Canvas
- Android Bitmap和Canvas
- Android Bitmap和Canvas
- Android Bitmap和Canvas
- Android Bitmap和Drawable
- Android Bitmap和Canvas
- Android Bitmap和Canvas .
- Android Bitmap和Canvas
- Android Bitmap和Drawable
- Android Bitmap和Canvas
- Android Bitmap和Canvas
- 《Android开发艺术探索》第十二章Bitmap加载和Cache小结
- 防火墙
- 面向对象3
- 数组指针,指针数组,函数指针,指针函数
- Linux中粘滞位
- Spring Data MongoDB 基础查询
- android bitmap相关内容小结和漫想
- Android,APP图标尺寸
- 把秒数转换成时分秒
- 安装JDK-问题-压缩包下载不正确
- dbcp数据库连接池
- Linux压缩,解压命令参数记录
- android 仿ios带弹簧效果的ScrollView
- leetcode刷题感想
- Linux(CentOS)挂载移动硬盘,实现文件拷贝、备份