2017-04-18 2 views
0

Um eine MapboxMap Instanz zu erhalten, rufen Sie getMapAsync() und erhalten es in onMapReady() zurückgegeben. Meine Frage ist: Wie lange ist diese MapboxMap Instanz gültig? Kann ich einen Verweis darauf speichern und später erneut verwenden, und wann muss ich ihn ungültig machen?Wie lange ist die MapboxMap-Instanz gültig?

Für mich scheint es, dass die MapboxMap Instanz ungültig wird, nachdem onDestroy() an der 10 aufgerufen wurde, aber ich kann es nirgends richtig dokumentiert sehen.

Als verwandte Frage frage ich mich auch, wie lange es sicher ist, einen Verweis auf eine Marker zu behalten (um es zu aktualisieren). Es scheint auch ungültig zu werden, nachdem onDestroy() aufgerufen wurde.

Gibt es Best Practices oder eine empfohlene Vorgehensweise, um damit umzugehen? Sollte man nie einen Verweis auf eine MapboxMap in einer Activity oder Fragment speichern, oder gibt es einen Listener für den man sich registrieren sollte?

+2

Die Beziehung zwischen Mapview und MapboxMap ist eins zu eins. Sie können eine bestehende MapboxMap nicht mit einem zweiten Mapview verknüpfen. Eine MapboxMap ist so lange gültig, wie die Mapview ist. Das gleiche gilt für Marker. Fühlen Sie sich frei, eine Referenz dieser Objekte in Aktivität/Fragment zu speichern, da diese so lange wie die mapview/mapboxmap existieren. – Tobrun

+0

@Tobrun Danke. Ich bin bereits vorangegangen und habe das getan und es scheint gut zu funktionieren. –

Antwort

2

Beantwortung meiner Frage für andere, die sich fragen könnten:

Marker und MapboxMap Instanzen gültig sind, solange ihre MapView gültig ist. So ist es sicher, einen Verweis auf sie zu behalten, bis die zerstört wird. Danke @Tobrun für die Klärung im obigen Kommentar.

Verwandte Themen