高效的图像大小调整

时间:2013-03-17 12:13:35

标签: java android image memory scale

简而言之,以下是以垃圾收集方式以任何方式重新缩放图像的低效方法?

playBg_ = BitmapFactory.decodeResource(res_, R.drawable.field);
playBg_ = Bitmap.createScaledBitmap(playBg_, screenWidth_, screenHeight_, false);

那么做这样的事情会更好吗?

Bitmap tempBmp = BitmapFactory.decodeResource(res_, R.drawable.field);
playBg_ = Bitmap.createScaledBitmap(tempBmp, screenWidth_, screenHeight_, false);
tempBmp.recycle();

或者有更好的方法吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以通过在eeePad上安装aLogcat来阅读您的logcat输出。

答案 1 :(得分:0)

第二种方式更好。但是你为什么要自己解码Bitmap并改变它的大小呢?

如果要将其显示为背景,请使用

myBgView.setBackground(R.drawable.field);

在您的活动父视图上。

答案 2 :(得分:0)

我发现第二种方法是必需的。第一种方法在垃圾收集到达之前留下了太多的内存浪费。我还发现在加载新图像之前我绝对需要在我的所有图像上调用回收。简单地解除引用它们并期望垃圾收集来获取它是不够的。由于这个事实我一直在耗尽内存。