Spec-Zone.ru › Kotlin 2

GC

kotlin-stdlib/kotlin.native.runtime/GC

Начиная с Kotlin: 1.9

@NativeRuntimeApi
object GC

Примечание: этот API нестабилен и может измениться в любом выпуске.

Kotlin/Native использует трассирующий сборщик мусора (GC), который периодически запускается для сбора объектов, недоступных из «корней», таких как локальные и глобальные переменные. Подробнее об управлении памятью в Kotlin/Native см. в документации.

Этот объект предоставляет набор функций и свойств для настройки сборщика мусора.

Типы

MainThreadFinalizerProcessor

Начиная с Kotlin: 1.9

object MainThreadFinalizerProcessor

Этот объект позволяет настраивать поведение процессора финализаторов, работающего в главном потоке.

Свойства

autotune

Начиная с Kotlin: 1.9

var autotune: Boolean

Если значение равно true, обновляет targetHeapBytes после каждого сбора мусора.

collectCyclesThreshold

Начиная с Kotlin: 1.9

var collectCyclesThreshold: Long

Устарело и не используется.

cyclicCollectorEnabled

Начиная с Kotlin: 1.9

var cyclicCollectorEnabled: Boolean

Устарело и не используется.

heapTriggerCoefficient

Начиная с Kotlin: 1.9

var heapTriggerCoefficient: Double

Сборщик мусора запускается, когда куча Kotlin переполняется на величину heapTriggerCoefficient * targetHeapBytes.

lastGCInfo

Начиная с Kotlin: 1.9

@ExperimentalStdlibApi
val lastGCInfo: GCInfo?

Возвращает статистику последнего завершенного запуска сборщика мусора. Эта информация предназначена только для тестирования и отладки.

maxHeapBytes

Начиная с Kotlin: 1.9

var maxHeapBytes: Long

Максимальное значение для targetHeapBytes. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.

minHeapBytes

Начиная с Kotlin: 1.9

var minHeapBytes: Long

Минимальное значение для targetHeapBytes. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.

pauseOnTargetHeapOverflow

Начиная с Kotlin: 1.9

var pauseOnTargetHeapOverflow: Boolean

Если значение равно true, сборщик мусора приостанавливает потоки Kotlin, когда куча Kotlin превышает targetHeapBytes, и возобновляет их только после завершения текущего цикла сборки мусора.

regularGCInterval

Начиная с Kotlin: 1.9

var regularGCInterval: Duration

Когда код Kotlin не выделяет достаточно памяти для запуска сборщика мусора, планировщик GC использует таймер для запуска сборки. Сборка по таймеру будет происходить примерно через интервал от regularGCInterval до 2 * regularGCInterval после предыдущей сборки.

targetHeapBytes

Начиная с Kotlin: 1.9

var targetHeapBytes: Long

Общий объем кучи, доступный для объектов Kotlin. Сборщик мусора старается планировать запуск так, чтобы куча Kotlin не превышала этот объем. Если autotune равно true, значение корректируется автоматически: после каждой сборки targetHeapBytes устанавливается в heapBytes / targetHeapUtilization и ограничивается значениями minHeapBytes и maxHeapBytes, где heapBytes — объем используемой кучи после сбора мусора. Обратите внимание: если после сборки heapBytes >targetHeapBytes (что может произойти, если autotune равно false или maxHeapBytes установлено слишком низким), следующий запуск сборщика мусора будет инициирован почти немедленно.

targetHeapUtilization

Начиная с Kotlin: 1.9

var targetHeapUtilization: Double

Доля заполнения кучи Kotlin. Используется, только если autotune равно true. Подробнее см. описание targetHeapBytes.

threshold

Начиная с Kotlin: 1.9

var threshold: Int

Устарело и не используется.

thresholdAllocations

Начиная с Kotlin: 1.9

var thresholdAllocations: Long

Устарело и не используется.

Функции

collect

Начиная с Kotlin: 1.9

external fun collect()

Запускает новую сборку мусора и ожидает ее завершения.

collectCyclic

Начиная с Kotlin: 1.9

fun collectCyclic()

Устарело и не используется.

detectCycles

Начиная с Kotlin: 1.9

fun detectCycles(): Array<Any>?

Устарело и не используется. Всегда возвращает null.

findCycle

Начиная с Kotlin: 1.9

fun findCycle(root: Any): Array<Any>?

Устарело и не используется. Всегда возвращает null.

resume

Начиная с Kotlin: 1.9

fun resume()

Устарело и не используется.

schedule

Начиная с Kotlin: 1.9

external fun schedule()

Запускает новую сборку мусора, не ожидая ее завершения.

start

Начиная с Kotlin: 1.9

fun start()

Устарело и не используется.

stop

Начиная с Kotlin: 1.9

fun stop()

Устарело и не используется.

suspend

Начиная с Kotlin: 1.9

fun suspend()

Устарело и не используется.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API