小编Moh*_*hit的帖子

在 KMM 中使用 SQLDelight 有哪些限制(产品)

SQLDelight 仍然在 Maven 存储库上标记为实验库,尽管第一个版本似乎于 2018 年 10 月发布。

我在 KMM 中制作了一个示例应用程序,我可以在其中插入/删除行,到目前为止,它似乎对我们的用例运行良好。但是,有人可以帮助我了解它的哪些方面在产品中使用不安全。是否存在任何性能问题?或者产品中是否存在随机崩溃的可能性?或者,我们是否知道是否有应用程序成功地将 Prod 中的 SqlDelight 用于其 KMM 应用程序?

谢谢!

sqldelight kotlin-multiplatform kotlin-multiplatform-mobile

2
推荐指数
1
解决办法
577
查看次数

来自 Kotlin Concurrancy HandsOn 的关于 Kotlin/Native 中冻结的查询

我正在关注此处的Kotlin/Native Concurrency 实践。我无法理解最后一个示例,为什么“上面修改后的 saveToDb 函数现在处理后台调用,并且仅捕获函数参数。这不会冻结父类

class CountingModelSafer{
    var count = 0

    fun increment(){
        count++
        saveToDb(count)
    }

    private fun saveToDb(arg:Int) = background {
        println("Doing db stuff with $arg, in main $isMainThread")
    }
}
Run Code Online (Sandbox Code Playgroud)

[请注意,在这些示例中,在背景内部,传递的 lambda 被冻结]

下面的代码片段会导致整个 CountingModel 被冻结,但上面的代码片段不会被冻结。有人可以帮我理解为什么会这样吗?

class CountingModel{
    var count = 0

    fun increment(){
        count++
        background {
            saveToDb(count)
        }
    }

    private fun saveToDb(arg:Int){
        //Do some db stuff
        println("Saving $arg to db")
    }
}
Run Code Online (Sandbox Code Playgroud)

kotlin-native kotlin-multiplatform kotlin-multiplatform-mobile

2
推荐指数
1
解决办法
227
查看次数