class DataStoreVM(
private val dataStore: DataStore
) : ViewModel() {
private val homeKey = stringPreferencesKey("home")
val homeDetails = dataStore.data
.map { prefs ->
prefs[homeKey]?.let { Json.decodeFromString(it) }
}
.stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000), null)
}
В пользовательском интерфейсе я собираю это так
val home by dataStoreVM.homeDetails.collectAsStateWithLifecycle()
Log.d("home", home) }
При запуске приложения я вижу:
D home: null
D home: HomeDetails(name= XYZ)
< /code>
для HomeDetts требуется около 1,5 секунды, чтобы излучать фактическое значение. < /p>
Я использую: < /p>
datastore-preferences:1.1.7
androidx.datastore:datastore
androidx.datastore:datastore-preferences
Мои вопросы:
- Это нормальная начальная задержка для хранилища данных в проекте KMP?
- Как лучше всего ускорить чтение в KMP?
kotlin = "2.2.20"
datastore = "1.1.7"
composeMultiplatform = "1.9.0"
Подробнее здесь: https://stackoverflow.com/questions/797 ... mp-project
Мобильная версия