Seg*_*aab 5 android android-jetpack
android Jetpack 团队最近发布了 DataStore 库(仍处于 alpha 阶段)作为使用两种实现保存简单数据的一种方式:
与其使用DataStore,不如我们将sharedPreferences用于简单数据类型,将Room用于更复杂的存储。
在 ANDROID 中使用 DATASTORE 比使用 SHAREDPREFERNCES(对于简单数据)+ ROOM(对于复杂数据)有什么好处。
Sta*_*chu 27
SharedPreferences 有几个缺点:在 UI 线程上调用看似安全的同步 API、没有发出错误信号的机制、缺乏事务性 API 等等。DataStore 是 SharedPreferences 的替代品,可以解决大部分这些缺点。DataStore 包含使用 Kotlin 协程和 Flow 的完全异步 API,处理数据迁移、保证数据一致性并处理数据损坏。
小智 5
使用偏好数据存储在简单的数据和空间,让复杂的数据。
Preference DataStore 比“旧的” SharedPreferences 带来了巨大的好处,例如:
还有许多其他好处,例如事务性 API,可保证一致性。查看我的博客文章,了解如何通过 3 个步骤轻松实现它:https : //vladsonkin.com/3-practical-steps-to-master-android-datastore/
而且我不会使用 Proto DataStore,因为类型安全功能会带来 Protobuf 的复杂性——您需要了解一些它并为您的项目添加大量代码。查看此博客文章以获取更多信息:https : //vladsonkin.com/proto-datastore-android-is-it-worth-it/