简而言之,以下是以垃圾收集方式以任何方式重新缩放图像的低效方法?
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();
或者有更好的方法吗?
谢谢!
答案 0 :(得分:1)
您可以通过在eeePad上安装aLogcat来阅读您的logcat输出。
答案 1 :(得分:0)
第二种方式更好。但是你为什么要自己解码Bitmap并改变它的大小呢?
如果要将其显示为背景,请使用
myBgView.setBackground(R.drawable.field);
在您的活动父视图上。
答案 2 :(得分:0)
我发现第二种方法是必需的。第一种方法在垃圾收集到达之前留下了太多的内存浪费。我还发现在加载新图像之前我绝对需要在我的所有图像上调用回收。简单地解除引用它们并期望垃圾收集来获取它是不够的。由于这个事实我一直在耗尽内存。