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

时间:2015-02-04 07:20:17

标签: android sharedpreferences

以下是我要做的事情:

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

  1. Internet On-在大约1秒内从共享偏好中获取字符串
  2. Internet Off(Switched Off) - 从共享偏好中获取字符串 大约几毫秒(几乎没有时间)
  3. Internet On-(Switched On 再次) - 从共享偏好中获取字符串需要1-3秒 在某些设备上(中文)需要大约1-30秒。
  4. 我正在尝试只获取一个字符串。有人面对类似的吗?

1 个答案:

答案 0 :(得分:1)

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

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

AsyncTask应该用于您期望花费大量时间执行的任务 - 因此您将运行UI线程。

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