我在android应用程序中使用SharedPreferences.我使用的是commit()apply()方法.当我使用AVD2.3时,它不会显示错误,但当我在AVD2.1中运行代码时,apply()方法会显示错误.

那么这两者之间有什么区别呢?如果只使用commit(),我可以毫无问题地存储偏好值吗?

推荐答案

在2.3中添加了apply(),它提交without,返回一个指示成功或失败的布尔值.

如果保存有效,commit()返回true,否则返回false.

添加apply()是因为Android开发团队注意到几乎没有人注意到返回值,所以Apply速度更快,因为它是异步的.

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html#apply()

Android相关问答推荐

Android深度链接配置中的URL片段匹配'

无法理解Kotlin Coroutines and Flows中的J.C.编程行为

Android Kotlin ImageView内置于Kotlin ImageView中.适配器未按预期更新

如何在Android中将以前的数据保存在复选框中?

未解析的引用:视图模型

Camera2 将图像从 ImageReader 传递到 MediaRecorder

retrofit2.HttpException: HTTP 401

为什么@PrimaryKey val id: Int? = null 在创建 Room 实体时有效吗?

Jetpack Compose:如何绘制异形边框?

通过 adb 解压并重新安装后 Android 应用程序崩溃

Android Studio 复制类 kotlin

为卡片的上半部分添加一个边框,用圆角半径组合

在 Jetpack Compose 中使用 .observeAsState() 时,如何在更改 MutableLiveData 的值后开始执行一段代码?

如何在 BottomBar jetpack compose 中删除选定的椭圆项目 colored颜色

无法为:app@debug/compileClasspath解析依赖项com.github.dhaval2404:imagepicker-support:1.7.1

为什么按钮没有拉伸到屏幕边缘?

在 android list 中添加 IsMonitoringTool 元数据标志的位置

如何使用 Jetpack Compose 在应用程序中实现本地化

Kotlin Compose 全局页脚视图

将生成的 AAR 与 Composables 一起使用时未解决的参考