我对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);
}
有人可以告诉我为什么吗?
答案 0 :(得分:0)
在android中,它总是调用垃圾收集器来收集和删除内存中未使用的资源,这就是它打印gc_for_alloc
消息的原因,该消息显示未使用的资源被删除,并为需要它的其他资源分配了空间
特别是当你对图像进行操作并在内存中加载大量图像时需要调用它,这需要更多的空间来加载。