Experimental API to toggle tile cache in map view (#2590)

This commit is contained in:
Alex Cristici
2024-07-16 01:31:11 +03:00
committed by GitHub
parent 9119afc5a3
commit 1ae14a55d0
21 changed files with 93 additions and 4 deletions

View File

@@ -86,6 +86,10 @@ const TaggedScheduler& AndroidRendererFrontend::getThreadPool() const {
return mapRenderer.getThreadPool();
}
void AndroidRendererFrontend::setTileCacheEnabled(bool enabled) {
mapRenderer.actor().invoke(&Renderer::setTileCacheEnabled, enabled);
}
void AndroidRendererFrontend::reduceMemoryUse() {
mapRenderer.actor().invoke(&Renderer::reduceMemoryUse);
}

View File

@@ -54,6 +54,7 @@ public:
const std::optional<std::map<std::string, mbgl::Value>>& args) const;
// Memory
void setTileCacheEnabled(bool);
void reduceMemoryUse();
private:

View File

@@ -676,6 +676,10 @@ jni::Local<jni::Array<jni::jlong>> NativeMapView::addMarkers(jni::JNIEnv& env,
return result;
}
void NativeMapView::setTileCacheEnabled(JNIEnv&, jni::jboolean enabled) {
rendererFrontend->setTileCacheEnabled(enabled);
}
void NativeMapView::onLowMemory(JNIEnv&) {
rendererFrontend->reduceMemoryUse();
}
@@ -1284,6 +1288,7 @@ void NativeMapView::registerNative(jni::JNIEnv& env) {
METHOD(&NativeMapView::setDebug, "nativeSetDebug"),
METHOD(&NativeMapView::getDebug, "nativeGetDebug"),
METHOD(&NativeMapView::isFullyLoaded, "nativeIsFullyLoaded"),
METHOD(&NativeMapView::setTileCacheEnabled, "nativeSetTileCacheEnabled"),
METHOD(&NativeMapView::onLowMemory, "nativeOnLowMemory"),
METHOD(&NativeMapView::getMetersPerPixelAtLatitude, "nativeGetMetersPerPixelAtLatitude"),
METHOD(&NativeMapView::projectedMetersForLatLng, "nativeProjectedMetersForLatLng"),

View File

@@ -192,6 +192,8 @@ public:
jni::Local<jni::Array<jni::jlong>> addMarkers(jni::JNIEnv&, const jni::Array<jni::Object<Marker>>&);
void setTileCacheEnabled(JNIEnv&, jni::jboolean);
void onLowMemory(JNIEnv& env);
void setDebug(JNIEnv&, jni::jboolean);