From c48a09cce85cbaeeaa75f9697807773bb99487eb Mon Sep 17 00:00:00 2001 From: Yang Ni Date: Fri, 28 Apr 2017 08:49:01 -0700 Subject: Destroy Allocation right away on exception Bug: 28053584 To avoid holding the resource (surface) for too long. Test: CTS on x86_64 emulator Change-Id: I2fdec107c2a16b7dadbf78a9aee79c33423a3676 --- rs/java/android/renderscript/Allocation.java | 1 + 1 file changed, 1 insertion(+) (limited to 'rs') diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java index 05ad1615dc81..238bf0f5a335 100644 --- a/rs/java/android/renderscript/Allocation.java +++ b/rs/java/android/renderscript/Allocation.java @@ -2895,6 +2895,7 @@ public class Allocation extends BaseObj { mAllocationArray[0] = createTyped(rs, t, usage); if ((usage & USAGE_IO_INPUT) != 0) { if (numAlloc > MAX_NUMBER_IO_INPUT_ALLOC) { + mAllocationArray[0].destroy(); throw new RSIllegalArgumentException("Exceeds the max number of Allocations allowed: " + MAX_NUMBER_IO_INPUT_ALLOC); } -- cgit v1.2.3