From 13d86d4cbc49072c03a30a0f0571b77b020c70d6 Mon Sep 17 00:00:00 2001 From: Niklas Ulvinge Date: Sun, 19 Jul 2015 01:10:34 +0200 Subject: [PATCH] Some memory management --- android/cpp/jni.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/android/cpp/jni.cpp b/android/cpp/jni.cpp index dd75caa21..46a73ef3f 100644 --- a/android/cpp/jni.cpp +++ b/android/cpp/jni.cpp @@ -227,7 +227,9 @@ mbgl::AnnotationSegment annotation_segment_from_latlng_jlist(JNIEnv *env, jobjec } segment.push_back(mbgl::LatLng(latitude, longitude)); + env->DeleteLocalRef(latLng); } + env->DeleteLocalRef(array); return segment; } @@ -662,6 +664,7 @@ std::pair readPolygon(JNIEnv *en jobject points = env->GetObjectField(polygon, polygonPointsId); mbgl::AnnotationSegment segment = annotation_segment_from_latlng_jlist(env, points); + env->DeleteLocalRef(points); return std::make_pair(segment, shapeProperties); } @@ -727,6 +730,8 @@ jlongArray JNICALL nativeAddPolygons(JNIEnv *env, jobject obj, jlong nativeMapVi } shapes.emplace_back(mbgl::AnnotationSegments {{ segment.first }}, segment.second); + + env->DeleteLocalRef(polygon); } std::vector shapeAnnotationIDs = nativeMapView->getMap().addShapeAnnotations(shapes);