Android系统中Bitmap是否有调用recycle方法的必要性
1个回答
2017-02-08
展开全部
Android系统中Bitmap是否有调用recycle方法的必要性的说明:
Android有自己的垃圾回收机制,对于是不是要编程人员自己调用recycle,还的看情况而定。
1、如果只是使用少量的几张图片,回收与否关系不大。
2、若有大量bitmap需要垃圾回收处理,那必然垃圾回收需要做的次数就更多也发生地更频繁,会对系统资源造成负荷。
所以,这个时候还是自己试用recycle来释放的比较好。
回收例子及代码:
// 获得ImageView当前显示的图片
Bitmap bitmap1 = ((BitmapDrawable) imageView.getBackground()).getBitmap();
Bitmap bitmap2 = Bitmap.createBitmap(bitmap1, 0, 0, bitmap1.getWidth(),
bitmap1.getHeight(), matrix, true);
// 如果图片还没有回收,强制回收
if (!bitmap1.isRecycled()) {
bitmap1.recycle();
}
// 根据原始位图和Matrix创建新的图片
//imageView.setImageBitmap(bitmap2);
imageView.setBackgroundDrawable(new BitmapDrawable(bitmap2));
所以,一定要注意ImageView图片的来源问题,然后在进行相应的recycle。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询