diff --git a/docs/Changelog.md b/docs/Changelog.md index 74030a80..9afd5ec5 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -3,6 +3,8 @@ ## New since 0.12.0 - Render themes: symbols on lines with billboard, rotate [#743](https://github.com/mapsforge/vtm/pull/743) +- Threaded system initialization (Android) + - `Parameters.THREADED_INIT` - Many other minor improvements and bug fixes - [Solved issues](https://github.com/mapsforge/vtm/issues?q=is%3Aclosed+milestone%3A0.13.0) diff --git a/vtm-android/src/org/oscim/android/MapView.java b/vtm-android/src/org/oscim/android/MapView.java index a49b5c09..25ca9c48 100644 --- a/vtm-android/src/org/oscim/android/MapView.java +++ b/vtm-android/src/org/oscim/android/MapView.java @@ -70,7 +70,15 @@ public class MapView extends GLSurfaceView { public static double targetGLESVersion = 3.0; private static void init() { - System.loadLibrary("vtm-jni"); + if (Parameters.THREADED_INIT) + new Thread(new Runnable() { + @Override + public void run() { + System.loadLibrary("vtm-jni"); + } + }).start(); + else + System.loadLibrary("vtm-jni"); } protected AndroidMap mMap; diff --git a/vtm/src/org/oscim/utils/Parameters.java b/vtm/src/org/oscim/utils/Parameters.java index b556341e..158fd742 100644 --- a/vtm/src/org/oscim/utils/Parameters.java +++ b/vtm/src/org/oscim/utils/Parameters.java @@ -67,6 +67,11 @@ public final class Parameters { */ public static boolean TEXTURE_ATLAS = false; + /** + * Threaded system initialization. + */ + public static boolean THREADED_INIT = false; + private Parameters() { throw new IllegalStateException(); }