From 74d42a45e2bad5318813e5e2c006d8a9bbda2c74 Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Wed, 1 Mar 2017 08:33:51 -0800 Subject: [PATCH] [android] keep default file source alive for the duration (#8226) --- .../com/mapbox/mapboxsdk/storage/FileSource.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java index 4123261f0..868177702 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/storage/FileSource.java @@ -9,8 +9,6 @@ import android.support.annotation.NonNull; import com.mapbox.mapboxsdk.Mapbox; import com.mapbox.mapboxsdk.constants.MapboxConstants; -import java.lang.ref.WeakReference; - import timber.log.Timber; /** @@ -36,19 +34,17 @@ public class FileSource { } - // Use weak reference to avoid blocking GC on this reference. - // Should only block when mapview / Offline manager instances - // are alive - private static WeakReference INSTANCE; + // File source instance is kept alive after initialization + private static FileSource INSTANCE; public static synchronized FileSource getInstance(Context context) { - if (INSTANCE == null || INSTANCE.get() == null) { + if (INSTANCE == null) { String cachePath = getCachePath(context); String apkPath = context.getPackageCodePath(); - INSTANCE = new WeakReference<>(new FileSource(cachePath, apkPath)); + INSTANCE = new FileSource(cachePath, apkPath); } - return INSTANCE.get(); + return INSTANCE; } public static String getCachePath(Context context) {