SyncAdapter不考虑主线程设置的静态变量

时间:2014-10-28 09:47:48

标签: java android multithreading android-syncadapter

Android SyncAdapter没有考虑主线程设置的静态变量值。由于静态变量在应用程序中持续存在,因此需要跨线程共享。但是SyncAdapter没有考虑主线程设置的值并采用默认值。帮我找到解决方案。我需要SyncAdapter使用我的静态值。

1 个答案:

答案 0 :(得分:1)

静态值仅在主进程存在时保持不变。 Android可以随时停止您的进程,并且无法保证当SyncAdapter启动时,进程将处于活动状态。因此,您应该使用其他选项来存储SyncAdapter的值:

    当您请求与ContentResolver.requestSync()同步时,
  • 使用bundle传递您的值
  • 将值保存到SharedPreferences并从SyncAdapter中读取它们
  • 将值保存到Sqlite数据库并从SyncAdapter查询它们。