欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Android Bitmap的使用

程序员文章站 2022-03-27 08:40:04
一 图片表示原理图片是由每个像素点来组成 像素点就是小方块图片的大小等于 宽*高*每个像素点的大小二 加载图片oom异常解决办法其中big.jpg是一张21.2mb的高清图三 图片处理原理androi...

一 图片表示原理

图片是由每个像素点来组成 像素点就是小方块

图片的大小等于 宽*高*每个像素点的大小

二 加载图片oom异常

详解Android Bitmap的使用

解决办法 

其中big.jpg是一张21.2mb的高清图

三 图片处理原理

android里面所有的显示效果都是绘制出来的

用android封装好的绘图类去绘制图片

canvas: 画布

paint: 画笔

matrix: 图形矩阵 3*3

bitmap: 要绘制的图片

四 图片的旋转 平移 缩放

其中mm.jpg是一张57kb的图 属于正常范围 不需要额外处理

五 图片的涂鸦操作

其中mm.jpg是一张57kb的图 属于正常范围 不需要额外处理

六 图片的颜色处理

图片是有颜色

核心原理就是重绘图片

改变图片的颜色就是对画笔进行操

其中mm.jpg是一张57kb的图 属于正常范围 不需要额外处理

七 内存泄漏和内存溢出

内存泄漏(memoryleak)

有些对象只有有限的生命周期 当它们的任务完成之后 它们将被回收 如果在对象的生命周期本该结束的时候 这个对象还被一系列的引用 这就会导致内存泄漏

随着泄漏的累积 app将消耗完内存 内存泄漏最终会导致内存溢出

内存泄漏的原因

1. 资源对象没关闭(cursor file...)

2. 没有及时调用recycle()释放不再使用的bitmap

3. 广播注册没取消

4. ...

神器: leakcanary 内存泄露检测工具()

内存溢出(outofmemoryerror oom)

内存溢出是指当对象的内存占用已经超出分配内存的空间大小

内存溢出的原因

1. bitmap过大

2. 内存泄露导致

3. ...

八 imageview中scaletype属性值含义

详解Android Bitmap的使用

以上就是详解android bitmap的使用的详细内容,更多关于android bitmap的资料请关注其它相关文章!

相关标签: Android Bitmap