-1

Bitmap.createBitmap() への私の呼び出しは常に gc_for_alloc につながります。コードは次のとおりです。

if (theFinger.isTheSaveFlag())
{
    theBackGroundBuffer.position(0);
    gl.glReadPixels(0, 0, theBackGroundWidth, theBackGroundHeight, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, theBackGroundBuffer);
    theBackGroundBuffer.position(0);
    theBackGroundBuffer.get(theBackGroundPixel);
    theBackGroundTexture.dispose();
    theBackGround.recycle();
    theBackGround = Bitmap.createBitmap(theBackGroundPixel, theBackGroundWidth, theBackGroundHeight, Bitmap.Config.ARGB_8888);
    theBackGroundTexture.load(theBackGround);
}

誰かが理由を教えてもらえますか?

4

1 に答える 1

0

Androidでは、常にガベージコレクターを呼び出して、メモリから未使用のリソースを収集して削除しgc_for_allocます。これが、未使用のリソースが削除され、それを必要とする他のリソースにスペースが割り当てられていることを示すメッセージを出力する理由です。

特に、画像の操作を行っているときに呼び出され、大量の画像をメモリにロードすると、ロードするのに少し多くのスペースが必要になります。

于 2013-10-16T10:19:15.287 に答える