一个图片加载到内存里,其实是有两部分数据组成,
一部分是图片的相关描述信息,另一部分就是最重要的像素信息(这部分是有byte数组组成的),
android系统为了提高对图片的处理效率,
对于图片的处理都是调用了底层的功能(由C语言实现的)
,也就是说一个图片加载到内存里后是使用两部分的内存区域,简单的说:
一部分是java可用的内存区,一部分是c可用的内存区
,这两个内存区域是不能相互直接使用的,
这个bitmap对象是有java分配的,当然不用的时候系统会自动回收了,可是那个对应的 C可用的内存区域jvm是不能直接回收的 ,这个只能调用底层的功能释放。所以你要调用recycle方法来释放那一部分内存。
这个bitmap对象是有java分配的,当然不用的时候系统会自动回收了,可是那个对应的 C可用的内存区域jvm是不能直接回收的 ,这个只能调用底层的功能释放。所以你要调用recycle方法来释放那一部分内存。