From 2ffd62f09f9ef10d28fe65b2ad3ba5d799f603c9 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sun, 8 Nov 2020 06:24:09 +0700 Subject: [PATCH] [Mod installer] Bug fix: pixels memory not freed --- .../java/net/kdt/pojavlaunch/AWTCanvasView.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/AWTCanvasView.java b/app/src/main/java/net/kdt/pojavlaunch/AWTCanvasView.java index db6b7b309..c1639cb04 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/AWTCanvasView.java +++ b/app/src/main/java/net/kdt/pojavlaunch/AWTCanvasView.java @@ -73,7 +73,7 @@ public class AWTCanvasView extends TextureView implements TextureView.SurfaceTex public void onSurfaceTextureUpdated(SurfaceTexture texture) { } - private boolean drawing = false; + private boolean mDrawing; private Surface mSurface; @Override public void run() { @@ -89,13 +89,14 @@ public class AWTCanvasView extends TextureView implements TextureView.SurfaceTex attached = CallbackBridge.nativeAttachThreadToOther(true, false, MainActivity.isInputStackCall); } else { int[] rgbArray = JREUtils.renderAWTScreenFrame(/* canvas, mWidth, mHeight */); - if (rgbArray == null) { - drawing = false; - } else { - canvas.drawBitmap(rgbArray, 0, CallbackBridge.windowWidth, 0, 0, CallbackBridge.windowWidth, CallbackBridge.windowHeight, true, null); - } + mDrawing = rgbArray != null; + if (rgbArray != null) { + canvas.drawBitmap(rgbArray, 0, CallbackBridge.windowWidth, 0, 0, CallbackBridge.windowWidth, CallbackBridge.windowHeight, true, null); + } + rgbArray = null; + // System.gc(); } - canvas.drawText("FPS: " + (Math.round(fps() * 10) / 10) + ", attached=" + attached + ", drawing=" + drawing, 50, 50, fpsPaint); + canvas.drawText("FPS: " + (Math.round(fps() * 10) / 10) + ", attached=" + attached + ", drawing=" + mDrawing, 50, 50, fpsPaint); mSurface.unlockCanvasAndPost(canvas); }