首页 > 试题广场 >

下列关于 SharedPreferences 的表述错误的是

[单选题]

下列关于 SharedPreferences 的表述错误的是()

  • SharedPreferences 最终的存储形态是 XML 文件
  • SharedPreferences 可以被多个应用共享访问
  • SharedPreferences 可以被同一个应用的多个进程共享访问
  • SharedPreferences.apply() 操作会马上将数据写入磁盘文件

sharedpreference.apply()是异步的,sharedpreference.commit()是同步的。


发表于 2019-07-17 00:10:36 回复(0)
sharedpreferences在7.0后不是因为安全,而不可以跨应用了么?
发表于 2020-04-21 13:20:43 回复(2)
解释说明 需要注意的是commit()方法是Added in API level 1的,也就是sdk1就已经存在了. apply()方法是Added in API level 9的. commit()有返回值,成功返回true,失败返回false.commit()方法是同步提交到硬件磁盘,因此,在多个并发的提交commit的时候,他们会等待正在处理的commit保存到磁盘后在操作,从而降低了效率。 apply()没有返回值.apply()是将修改的数据提交到内存, 而后异步真正的提交到硬件磁盘. 为什么建议使用apply()替代commit() ? 答:因为Android的设计人员发现,开发人员对commit的返回值不感兴趣,而且在数据并发处理时使用commit要比apply效率低,所以推荐使用apply.
发表于 2020-11-25 09:26:26 回复(0)
?锤子,sp不能跨进程呀
发表于 2021-11-29 09:50:28 回复(0)
commit()方法是同步提交到硬件磁盘  api1
.apply()是将修改的数据提交到内存, 而后异步真正的提交到硬件磁盘  api 11
发表于 2021-04-01 18:39:04 回复(0)
  • A 正确:SharedPreferences 的数据确实存储在 XML 文件中。

  • B 正确:虽然从 Android 6.0 开始不再推荐直接跨应用共享(相关模式已废弃),但早期版本可以通过 MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 实现多应用访问。题目通常按传统概念判断为正确。

  • C 正确:通过 MODE_MULTI_PROCESS(已废弃但曾有效)或结合 ContentProvider 等方式,理论上可以在同一应用的多进程***享访问。

  • D 错误:apply() 是异步操作,只会将修改内存缓存,然后后台异步写入磁盘,不会马上写入文件。commit() 才是同步写入。

编辑于 2026-05-06 23:46:39 回复(0)
apply马上提交,commit等待所有申请之后才提交
发表于 2023-08-23 10:49:08 回复(0)
y4l头像 y4l
SharedPreference在安卓6以后只能开启进程专用模式了
发表于 2022-10-11 14:53:40 回复(0)
感觉BC也有问题啊
发表于 2022-08-25 12:24:36 回复(0)
apply就会马上写入了吗
发表于 2022-02-11 14:51:06 回复(0)