У меня есть приложение с несколькими фрагментами, и большинство из них используют представление карты.
Я использую базовый фрагмент для каждого из них и делаю всю конфигурацию mapboxMap в них.например:
внутри фрагмента, который я вызываю:
override fun onMapReady(mapboxMap: MapboxMap?) {
mapBoxMap = mapboxMap
setUpMapForRoute(mapViewRouteInfo, btnMyLocationBR)
showRouteInfoOnMap()
}
Базовый фрагмент я делаю конфигурации
protected fun setUpMapForRoute(mapView: MapView, mMyLocationButton: FloatingActionButton) {
mapBoxMap?.addOnMapClickListener(this)
enableLocationPlugin(mapView)
setUpMyLocationBtn(mMyLocationButton)
}
Также обрабатывают методы жизненного цикла mapview внутри каждого фрагмента.
override fun onStart() {
super.onStart()
mapView?.onStart()
}
override fun onResume() {
super.onResume()
mapView?.onResume()
}
Но приложение использует много памяти и слишком открытые лаги.Я предполагаю, что должен быть какой-то лучший способ поделиться просмотром карты между фрагментами.Или как-то быстрее освободить память.