MMKV-KTX
MMKV-KTX copied to clipboard
The best MMKV utils to ensure type safety. (最好用的 MMKV 工具,可以确保类型安全)
在firebase上看到的崩溃,不知道怎么处理,麻烦大佬看下,我现在是在build.gradle下加了 `ndk { //APP的build.gradle设置支持的SO库架构 abiFilters 'armeabi-v7a', "armeabi", "arm64-v8a", 'x86_64' }` **完整崩溃日志** [com.musicho.andro_issue_61117a57833c6664c9bdb1c17f8b13bf_crash_session_6619E09201CB00011A5473926F8486A4_DNE_0_v2_stacktrace.txt](https://github.com/DylanCaiCoding/MMKV-KTX/files/15009251/com.musicho.andro_issue_61117a57833c6664c9bdb1c17f8b13bf_crash_session_6619E09201CB00011A5473926F8486A4_DNE_0_v2_stacktrace.txt)
我看初始化用的是startup延迟初始化?而且只有一个默认初始化,如果我想指定MMKV文件存储位置或其他配置的话,这个我要自己手动初始化?
Exception java.lang.ExceptionInInitializerError: at com.dylanc.mmkv.MMKVKt.mmkvString at com.nova.dax.common.storage.AppStorage. (AppStorage.kt:21) at com.nova.dax.common.ext.ActivityExtKt.resetThemeBar (ActivityExt.kt:47) at com.nova.dax.common.ext.ActivityExtKt.resetThemeBar$default (ActivityExt.kt:44) at com.nova.dax.base.BaseActivity.onCreate (BaseActivity.kt:26) at com.nova.dax.ui.main.MainActivity.onCreate (MainActivity.kt:47) at android.app.Activity.performCreate (Activity.java:8207) at android.app.Activity.performCreate (Activity.java:8191) at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1309) at android.app.ActivityThread.performLaunchActivity...
问题出在MMKVFlow里的compareAndSet方法 ```kotlin override fun compareAndSet(expect: V, update: V): Boolean = flow.compareAndSet(expect, update).also { setSuccess -> if (setSuccess) setMMKVValue(value) } ``` 第一次更新成功后调用setMMKVValue(value)的时候错误的把value也就是mmkv本地的初始值又给写到mmkv里了,导致后面再调用update方法时候拿到的始终是初始值,而stateflow的update方法 ```kotlin public inline fun MutableStateFlow.update(function: (T) -> T) {...
ANR
``` private val mUserStatus by mmkvParcelable(UserStatusModel()).asStateFlow() mUserStatus.update { value } ``` 这样使用update方法会造成ANR,使用.value不会
2.0.1和1.2.16都无法下载 无论是否开代理都无法下载   