位图和缩放位图

时间:2013-03-02 16:32:10

标签: android performance bitmap scaling recycle

我正在使用以下方法加载多个位图(不同大小的aprox 40,从全屏图像到单个精灵帧):

Bitmap graphic = BitmapFactory.decodeResource(res, R.drawable.mygraphics);

然后我使用它来缩放它们(因此它们在相对于屏幕的任何设备上看起来都相同):

Bitmap scaledGraphic = Bitmap.createScaledBitmap(mygraphics,  screen.width()/2, screen.height()/2, true);

以上示例仅仅是为了将图像向上/向下缩放到屏幕尺寸的四分之一。

然后我在onDraw()方法中引用了缩放图像:

canvas.drawBitmap(scaledGraphic, X, Y, null);

这一切都可以,并且在各种屏幕尺寸上看起来都不错。

我的问题是,据我所知,createScaledBitmap在内存中创建了另一个位图,而不是仅仅缩放原始位图。如果是这种情况,一旦创建了缩放位图,我就不再需要原始位图了,所以有什么方法可以从内存中删除它吗?

我需要拨打回收电话吗?我只是试图优化我的代码并且在口吃动画等方面遇到很多问题...... GC被调用几次(不是很多)而且我真的不知道为什么会这样,但是认为它会很好无论如何都要练习解决这个问题。

0 个答案:

没有答案