В настоящее время я работаю над проектом, который использует API Google Maps для отображения для отображения большого количества баллов, через тепловую карту из API. класс, где я создаю и управляю его поведением < /p>
class GoogleMapsApi(private val atribut) {
private var lteOverlay: TileOverlay? = null
private var fiveGOverlay: TileOverlay? = null
...
@OptIn(FlowPreview::class, MapsComposeExperimentalApi::class)
@Composable
fun Add_Map() {
var lteHeatmapProvider: TileProvider? by remember { mutableStateOf(null) }
var fiveGHeatmapProvider: TileProvider? by remember { mutableStateOf(null) }
var filteredMarkers: List by remember {
mutableStateOf(emptyList()) // Mis puntos visibles en la vista de la cámara
}
LaunchedEffect(cameraPositionState) {
snapshotFlow { cameraPositionState.position }
.debounce(timeoutMillis = 500)
.collectLatest { position ->
val projection = cameraPositionState.projection
val region = projection?.visibleRegion
val filtered = sharedResources.antennasQuadTree.query(rectangle)
filteredMarkers = filtered
lteHeatmapProvider = null
fiveGHeatmapProvider = null
}
}
GoogleMap(
modifier = Modifier
.fillMaxSize()
.padding(bottom = 48.dp),
cameraPositionState = cameraPositionState,
onMapLoaded = {}
) {
MapEffect(lteHeatmapProvider to fiveGHeatmapProvider) { map ->
lteOverlay?.remove()
fiveGOverlay?.remove()
lteOverlay = lteHeatmapProvider?.let { provider ->
map.addTileOverlay(TileOverlayOptions().tileProvider(provider))
}
fiveGOverlay = fiveGHeatmapProvider?.let { provider ->
map.addTileOverlay(TileOverlayOptions().tileProvider(provider))
}
}
// Otros elementos del mapa...
}
}
}
< /code>
Очевидно, что есть больше кода, но это важная часть.
Когда я добавляю плитку с наложением, я хочу освободить ее от памяти, но это продолжает накапливаться, и приложение заканчивается, когда я уже не использую память.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ackcompose
Утечки памяти с накладками на JetPack Compose ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение