Merge a5cd0d8e07ebc1fcd86017de539161848d34e217 on remote branch

Change-Id: Id8f9e2e72b36adaf0a925fe34819a8751bf66c84
diff --git a/src/com/android/nn/benchmark/core/NNTestBase.java b/src/com/android/nn/benchmark/core/NNTestBase.java
index 21f8711..48a934f 100644
--- a/src/com/android/nn/benchmark/core/NNTestBase.java
+++ b/src/com/android/nn/benchmark/core/NNTestBase.java
@@ -32,7 +32,7 @@
 import java.util.List;
 import java.util.Optional;
 
-public class NNTestBase {
+public class NNTestBase implements AutoCloseable {
     protected static final String TAG = "NN_TESTBASE";
 
     // Used to load the 'native-lib' library on application startup.
@@ -322,4 +322,9 @@
         }
         return outFileName;
     }
+
+    @Override
+    public void close()  {
+        destroy();
+    }
 }
diff --git a/src/com/android/nn/benchmark/util/DumpIntermediateTensors.java b/src/com/android/nn/benchmark/util/DumpIntermediateTensors.java
index e79a8b3..b939b54 100644
--- a/src/com/android/nn/benchmark/util/DumpIntermediateTensors.java
+++ b/src/com/android/nn/benchmark/util/DumpIntermediateTensors.java
@@ -91,13 +91,14 @@
                     String useNNAPIDir = useNNAPI? NNAPI_DIR: CPU_DIR;
                     Log.i(TAG, "Running " + modelName + " in " + useNNAPIDir);
                     TestModelEntry modelEntry = TestModels.getModelByName(modelName);
-                    NNTestBase testBase = modelEntry.createNNTestBase(
-                        useNNAPI, true/*enableIntermediateTensorsDump*/);
-                    testBase.setupModel(this);
-                    File outputDir = new File(getFilesDir() + "/" + DUMP_DIR +
-                        "/" + modelName, useNNAPIDir);
-                    safeMkdir(outputDir);
-                    testBase.dumpAllLayers(outputDir, inputAssetIndex, inputAssetSize);
+                    try (NNTestBase testBase = modelEntry.createNNTestBase(
+                            useNNAPI, true/*enableIntermediateTensorsDump*/)) {
+                        testBase.setupModel(this);
+                        File outputDir = new File(getFilesDir() + "/" + DUMP_DIR +
+                            "/" + modelName, useNNAPIDir);
+                        safeMkdir(outputDir);
+                        testBase.dumpAllLayers(outputDir, inputAssetIndex, inputAssetSize);
+                    }
                 }
             }