Implement OOB destroy method that can be called from the java finalizer removing the need to explicitly destroy objects.
diff --git a/graphics/java/android/renderscript/BaseObj.java b/graphics/java/android/renderscript/BaseObj.java
index eaeb401..c25f16a 100644
--- a/graphics/java/android/renderscript/BaseObj.java
+++ b/graphics/java/android/renderscript/BaseObj.java
@@ -60,8 +60,13 @@
protected void finalize() throws Throwable
{
if (!mDestroyed) {
+ if(mID != 0) {
+ mRS.nObjDestroyOOB(mID);
+ }
+ mID = 0;
+ mDestroyed = true;
Log.v(RenderScript.LOG_TAG,
- getClass() + " finalized without having released the RS reference.");
+ getClass() + " auto finalizing object without having released the RS reference.");
}
super.finalize();
}