Bitmap的处理优化
来源:互联网 发布:深圳湾软件产业基地 编辑:程序博客网 时间:2024/06/05 12:47
android对每个应用的内存是有限制的,大概16MB如果应用内部有大量图片,可能会导致OOM,因此我们应该熟练使用bitmap加载图片进行优化
bitmap是android用于处理图片的工具。
1:BitmapFactory四个方法:
decodeFile,decodeResources,decodeStream,decodeByteArray支持从文件系统,资源,输入流以及字节数组加载
2:压缩图片BitmapFactory.Options
使用inSampleSize采样率,采样率同时作用与宽高inSampleSize=2 大小为原来的1/4;
步骤:1将BitmapFactory.Options的injustdecodebounds参数设置为true并加载图片
2从BitmapFactory.Options中取出图片等原始宽高
3计算采样率inSampleSize
4将BitmapFactory.Options的injustdecodebounds参数设置为false并从新加载图片
decodeStream方法压缩时有些特殊,在对FileInputeStream缩放时因为FileInputeStream是一个有序的文件流,而两次decodeStream调用影响了文件流的位置属性
导致第二次decodeStream时得到的是null.为了解决这个问题,可以通过文件流得到对应的文件描述符,然后通过decodeFileDescriptor方法加载一张缩放后的图片
3:缓存
Lru:最近最少使用算法。
内存缓存LruCache
文件缓存DiskLruCache
4:大量图片滑动优化
1:图片错位问题:当用户向下滑动时,itemA正在网络上加载ImageViewA等下载完毕后如果直接给ImageViewA设置图片,这个时候ImageViewA被itemB复用引起图片错位。
2:设置滑动监听,滑动时不加载图片 静止时再加载图片。
- Bitmap的处理优化
- 创建bitmap时的优化处理
- bitmap图片处理优化
- Bitmap图片压缩优化处理
- Android BitMap的优化
- Bitmap 的内存优化
- Bitmap的优化
- Android Bitmap的优化
- Bitmap的优化策略
- Bitmap的优化方式
- Bitmap的内存优化
- Bitmap图片的处理
- BitMap的处理
- 简单的bitmap处理
- 安卓中Bitmap的处理
- Bitmap的压缩处理
- Bitmap详解与Bitmap的内存优化
- 性能优化-Bitmap简单处理分析
- iOS SDK:那些关于iOS调试的技巧
- Cgywin的配置
- [leetcode] 264. Ugly Number II
- 深入理解JVM-虚拟机字节码执行引擎
- 自勉&计划
- Bitmap的处理优化
- Oracle练习
- 关于毕业论文开题报告的一些总结
- ROS学习一二
- 在Python Web项目中使用Jenkins进行持续集成
- nyoj 485 九余数定理
- C语言 指针的深入理解
- JavaScript事件监听器 addEventListener
- hdoj 1220 Cube