From eae247298534e9d09f79ade500a7007ef2e2dc24 Mon Sep 17 00:00:00 2001 From: Tim Murray Date: Fri, 12 Dec 2014 11:34:48 -0800 Subject: [PATCH] Enable native tracking for RS contexts to improve GC behavior. This should prevent apps from leaking RS contexts as easily. bug 18579193 Change-Id: I2d943ce4443ce7cb90ebdd3dd37d338eda6df3a2 --- rs/java/android/renderscript/RenderScript.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java index 6c5c5083edcab..541cce885813e 100644 --- a/rs/java/android/renderscript/RenderScript.java +++ b/rs/java/android/renderscript/RenderScript.java @@ -1184,6 +1184,13 @@ public class RenderScript { mApplicationContext = ctx.getApplicationContext(); } mRWLock = new ReentrantReadWriteLock(); + try { + registerNativeAllocation.invoke(sRuntime, 4 * 1024 * 1024 * 1024); // 4MB for GC sake + } catch (Exception e) { + Log.e(RenderScript.LOG_TAG, "Couldn't invoke registerNativeAllocation:" + e); + throw new RSRuntimeException("Couldn't invoke registerNativeAllocation:" + e); + } + } /**