Android Java - 旋转位图导致GC_FOR_ALLOC

时间:2014-07-02 09:39:59

标签: java android bitmap rotation

我尝试使用矩阵设置位图的旋转,但我在这里遇到了一些麻烦。

有谁知道如何旋转位图?我很困惑,为什么这会导致内存错误。我的代码简单明了:

thisRotation = Math.toDegrees(Math.atan2(
            (fingery1 - thisRectf.centerY()),
            (fingerx1 - thisRectf.centerX()))));
matrix.setRotate(thisRotation, thisRectf.centerX(),
            thisRectf.centerY());
Bitmap.createBitmap(thisBitmap, 0, 0, thisBitmap.getWidth(), 
                         thisBitmap.getHeight(), matrix, true);

我使用谷歌,显然这不是一个简单的解决方案?我的图像非常小(9 kb),我尝试将其降低到900字节,但它仍会导致gc。

1 个答案:

答案 0 :(得分:0)

我使用的是自定义视图,在我的onDraw方法中,我使用了

canvas.drawBitmap(bitmap, srcRectf, dstRectf, paint);

绘制我的位图,但我应该一直在使用

canvas.drawBitmap(bitmap, matrix, paint);