为什么 SharedPreferences 访问时间会在 Internet 可用时增加? - Android

Why SharedPreferences access time increases when Internet available? - Android

这是我正在尝试做的事情:

在 onCreate 中,我从 sharedpreferences 获取数据并显示在列表中(为此我使用异步任务)。这是离线工作,不需要网络。那么发生了什么:

  1. Internet On- 在大约 1 秒内从共享首选项中获取字符串。
  2. Internet Off(已关闭)- 从 sharedpreferences 中获取字符串 大约几毫秒(几乎没有时间)
  3. 互联网开启-(开启 再次) - 从 sharedpreferences 中获取字符串需要 1-3 秒 在某些设备(中文)上大约需要 1-30 秒。

我试图只获取一个字符串。有人遇到过类似情况吗?

AsyncTask 从共享线程池执行。它们将按顺序执行(有时,在不同的平台上)。

SharedPreferences 在设备上,因此 AsyncTask 不是必需的。将对它的调用从后台线程中取出并返回到 UI 线程,你应该没问题。

AsyncTask 应该用于您预计将花费大量时间执行的任务 - 因此您 运行 离开了 UI 线程。

换句话说,从设备上的存储中获取数据不应该以这种方式完成。