summaryrefslogtreecommitdiffstats
path: root/core/jni/android
diff options
context:
space:
mode:
authorKimiyoshi Kusaka <kusaka.kimiyoshi@sharp.co.jp>2011-03-28 11:58:51 +0900
committerKimiyoshi Kusaka <kusaka.kimiyoshi@sharp.co.jp>2011-03-28 11:58:51 +0900
commit08d7778f081aae745e6ad9e5350221b21dbf352e (patch)
tree28ee2d98593ff771eaf89b2916cc0b9e344bf90d /core/jni/android
parent2e383bc6445b37d3b37fbc5b7620cd4716c5692c (diff)
downloadframeworks_base-08d7778f081aae745e6ad9e5350221b21dbf352e.zip
frameworks_base-08d7778f081aae745e6ad9e5350221b21dbf352e.tar.gz
frameworks_base-08d7778f081aae745e6ad9e5350221b21dbf352e.tar.bz2
Fix memory leak of SkMovie class
Movie class doesn't have finalize method. So memory leak of SkMovie class of native Skia occurs when Movie class is released. I add finalize method to Movie class (Movie.java) and jni destructor method to SkMovie class (Movie.cpp). Change-Id: I4dae9dd95f128cbfade50bef978b219ba99321dd
Diffstat (limited to 'core/jni/android')
-rw-r--r--core/jni/android/graphics/Movie.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/jni/android/graphics/Movie.cpp b/core/jni/android/graphics/Movie.cpp
index de18f9f..d1a5546 100644
--- a/core/jni/android/graphics/Movie.cpp
+++ b/core/jni/android/graphics/Movie.cpp
@@ -115,6 +115,10 @@ static jobject movie_decodeByteArray(JNIEnv* env, jobject clazz,
return create_jmovie(env, moov);
}
+static void movie_destructor(JNIEnv* env, jobject, SkMovie* movie) {
+ delete movie;
+}
+
//////////////////////////////////////////////////////////////////////////////////////////////
#include <android_runtime/AndroidRuntime.h>
@@ -129,6 +133,7 @@ static JNINativeMethod gMethods[] = {
(void*)movie_draw },
{ "decodeStream", "(Ljava/io/InputStream;)Landroid/graphics/Movie;",
(void*)movie_decodeStream },
+ { "nativeDestructor","(I)V", (void*)movie_destructor },
{ "decodeByteArray", "([BII)Landroid/graphics/Movie;",
(void*)movie_decodeByteArray },
};