В настоящее время я работаю над проектом, который использует 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
Форум для тех, кто программирует под Android
-
Anonymous
1747400285
Anonymous
В настоящее время я работаю над проектом, который использует 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>
Очевидно, что есть больше кода, но это важная часть.
Когда я добавляю плитку с наложением, я хочу освободить ее от памяти, но это продолжает накапливаться, и приложение заканчивается, когда я уже не использую память.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79623588/memory-leaks-with-tileoverlays-on-jetpackcompose[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия