mapbox / mapbox/mapbox-maps-flutter
addSource / updateGeoJSON slow performance on Android
Nessuno ha ancora preso questa issue.
- Lingua principale
- Dart
- Stelle
- 380
- Fork
- 204
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When loading a 1 megabyte GeoJSON source to a map style and measure the time, I see a huge performance difference between Android and iOS.
var dateTimeNow = DateTime.now();
await mapboxMap?.style.addSource(
GeoJsonSource(
id: "my_source",
data: jsonEncode(myGeoJSON)
)
);
print(DateTime.now().difference(dateTimeNow).inMilliseconds);
Android: 1500ms (sometimes even more)
iOS: 130ms
I tested on Emulators as well as physical devices, the results are the same.
The same behaviour also occurs when using source.updateGeoJSON(...).
When building a native Android app, working with large GeoJSON sources in Mapbox did not result in performance issues like this.
Here you can find the full sample project:
flutter_mapbox.zip
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci la differenza nei tempi con l’esempio flutter_mapbox.zip allegato, concentrandoti su style.addSource con una sorgente GeoJSON da 1 MB e source.updateGeoJSON(...). Confronta i tempi su Android e iOS e analizza il percorso Android; il lavoro è completato quando gli aggiornamenti di GeoJSON di grandi dimensioni non mostrano più il divario di prestazioni Android segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, dart, flutter
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100