GC
Начиная с Kotlin: 1.9
object GC
Примечание: этот API нестабилен и может измениться в любом выпуске.
Kotlin/Native использует трассирующий сборщик мусора (GC), который периодически запускается для сбора объектов, недоступных из «корней», таких как локальные и глобальные переменные. Подробнее об управлении памятью в Kotlin/Native см. в документации.
Этот объект предоставляет набор функций и свойств для настройки сборщика мусора.
Типы
Начиная с Kotlin: 1.9
object MainThreadFinalizerProcessor
Этот объект позволяет настраивать поведение процессора финализаторов, работающего в главном потоке.
Свойства
Начиная с Kotlin: 1.9
var autotune: Boolean
Если значение равно true, обновляет targetHeapBytes после каждого сбора мусора.
Начиная с Kotlin: 1.9
var heapTriggerCoefficient: Double
Сборщик мусора запускается, когда куча Kotlin переполняется на величину heapTriggerCoefficient * targetHeapBytes.
Начиная с Kotlin: 1.9
val lastGCInfo: GCInfo?
Возвращает статистику последнего завершенного запуска сборщика мусора. Эта информация предназначена только для тестирования и отладки.
Начиная с Kotlin: 1.9
var maxHeapBytes: Long
Максимальное значение для targetHeapBytes. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.
Начиная с Kotlin: 1.9
var minHeapBytes: Long
Минимальное значение для targetHeapBytes. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.
Начиная с Kotlin: 1.9
var pauseOnTargetHeapOverflow: Boolean
Если значение равно true, сборщик мусора приостанавливает потоки Kotlin, когда куча Kotlin превышает targetHeapBytes, и возобновляет их только после завершения текущего цикла сборки мусора.
Начиная с Kotlin: 1.9
var regularGCInterval: Duration
Когда код Kotlin не выделяет достаточно памяти для запуска сборщика мусора, планировщик GC использует таймер для запуска сборки. Сборка по таймеру будет происходить примерно через интервал от regularGCInterval до 2 * regularGCInterval после предыдущей сборки.
Начиная с Kotlin: 1.9
var targetHeapBytes: Long
Общий объем кучи, доступный для объектов Kotlin. Сборщик мусора старается планировать запуск так, чтобы куча Kotlin не превышала этот объем. Если autotune равно true, значение корректируется автоматически: после каждой сборки targetHeapBytes устанавливается в heapBytes / targetHeapUtilization и ограничивается значениями minHeapBytes и maxHeapBytes, где heapBytes — объем используемой кучи после сбора мусора. Обратите внимание: если после сборки heapBytes >targetHeapBytes (что может произойти, если autotune равно false или maxHeapBytes установлено слишком низким), следующий запуск сборщика мусора будет инициирован почти немедленно.
Начиная с Kotlin: 1.9
var targetHeapUtilization: Double
Доля заполнения кучи Kotlin. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.
Функции
Начиная с Kotlin: 1.9
fundetectCycles(): Array<Any>?
Устарело и не используется. Всегда возвращает null.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.native.runtime/-g-c/index.html