引言
一、Android图片处理基础
1. 图片格式与MIME类型
2. 图片加载与解码
BitmapFactory.Options decodeOptions = new BitmapFactory.Options();
decodeOptions.inJustDecodeBounds = true;
BitmapFactory.decodeFile(imagePath, decodeOptions);
3. 图片分辨率与屏幕适配
Android系统中有多种屏幕分辨率,开发者需要根据实际情况进行屏幕适配。可以通过获取屏幕参数,如屏幕大小、分辨率、PPI等,来适配不同分辨率的屏幕。
二、Android图片处理技巧
1. 图片压缩
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
2. 图片旋转与裁剪
Matrix matrix = new Matrix();
matrix.postRotate(90); // 旋转90度
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
Canvas canvas = new Canvas(bitmap);
Rect rect = new Rect(0, 0, 200, 200); // 裁剪区域
canvas.clipRect(rect);
3. 图片滤镜效果
ColorFilter colorFilter = new PorterDuffColorFilter(0xFF000000, PorterDuff.Mode.DST_IN);
bitmap.setColorFilter(colorFilter);
三、Android图片处理常见问题及解决方案
1. 图片加载失败
- 检查网络连接是否稳定;
- 验证图片文件是否完整;
- 确保文件路径正确。
2. 图片解码异常
- 使用合适的图片格式,如
Bitmap.CompressFormat.JPEG
; - 适当调整图片尺寸,减小内存占用;
- 在解码前,先获取图片尺寸信息。
3. 图片内存泄漏
- 使用弱引用
WeakReference
存储图片; - 及时回收不再使用的图片;
- 在Activity或Fragment销毁时,释放图片资源。