Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin/NativeのNew Memory Managerに移行しよう | Kotlin...

Seiya Kokushi
December 10, 2022

Kotlin/NativeのNew Memory Managerに移行しよう | Kotlin Fest 2022

Kotlinでマルチプラットフォームのモバイルアプリケーション開発を行えるKotlin Multiplatfrom Mobileが2022年10月にBetaとなりました。
JetBrainsはKMM Betaに向けてさまざまな改善に取り組んできましたが、その中でもNew Memory Managerに注力していました。旧Memory ManagerのKotlin/NativeにおけるKotlin coroutinesや並列、非同期処理の課題がKotlin 1.7.20で改善され、新Memory ManagerはBetaステータスとなっています。
本セッションでは、旧Memory Managerの課題とこれまでの対処方法、新旧の比較(仕組み、実装方法、パフォーマンス)、マイグレーション方法、関連ライブラリ(Kotlin coroutines、Ktor)の変更点などをご紹介します。

Seiya Kokushi

December 10, 2022
Tweet

More Decks by Seiya Kokushi

Other Decks in Technology

Transcript

  1. data class MoreData(val strData: String, var width: Float) data class

    SomeData(val moreData: MoreData, var count: Int) //... val sd = SomeData(MoreData("abc", 10.0), 0) sd.freeze() $PODVSSFODZPO0ME.FNPSZ.BOBHFS
  2. /FX.FNPSZ.BOBHFS'FBUVSFT IUUQTLPUMJOMBOHPSHEPDTOBUJWFNFNPSZNBOBHFSIUN !4IBSFE*NNVUBCMFͷάϩʔόϧม਺͸GSFF[F͞Εͳ͍͕ɺ GSFF[F ΛݺͿͱGSFF[F͞ΕΔ kotlin.native.binary.freezing=disabled // explicitOnly kotlin.targets.withType(KotlinNativeTarget::class.java) {

    binaries.all { binaryOptions["freezing"] = “disabled" // “explicitOnly” } } HSBEMFQSPQFSUJFT CVJMEHSBEMFLUT ґଘ͍ͯ͠ΔϥΠϒϥϦ͕GSFF[F͢Δέʔε ,PUMJO.d disabled explicitOnly GSFF[F ΛݺΜͰ΋Կ΋͠ͳ͍