mapbox / mapbox/mapbox-maps-flutter
addSource / updateGeoJSON slow performance on Android
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Dart
- Sterne
- 380
- Forks
- 204
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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](https://github.com/mapbox/mapbox-maps-flutter/files/15348755/flutter_mapbox.zip)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Timing-Unterschied mit dem angehängten flutter_mapbox.zip-Beispiel, wobei du dich auf style.addSource mit einer 1 MB großen GeoJSON-Quelle und source.updateGeoJSON(...) konzentrierst. Vergleiche die Timings auf Android und iOS und untersuche den Android-Pfad; abgeschlossen ist die Arbeit, wenn große GeoJSON-Updates nicht mehr die gemeldete Android-Performance-Lücke zeigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, dart, flutter
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100