У меня есть этот код для моего SyncService
:
public class SyncService extends Service {
private static SyncAdapter syncAdapter = null;
private static final Object syncAdapterLock = new Object();
@Override
public void onCreate() {
synchronized (syncAdapterLock) {
if (syncAdapter == null) {
syncAdapter = new SyncAdapter(getApplicationContext(), true);
}
}
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return syncAdapter.getSyncAdapterBinder();
}
}
Этот код, который я сделал на странице разработчиков Android здесь: https://developer.android.com/training/sync-adapters/creating-sync-adapter#CreateSyncAdapterService
Проблема в том, что static
на SyncAdapter
жалуется:
Не размещайте классы контекста Android в статических полях (статические
ссылка на SyncAdapter с полем context, указывающим на
'Контекст'); это утечка памяти (которая также нарушает Instant Run)
Но это так на странице разработчиков Android. Так это правильно или неправильно? Если это неправильно, что будет правильным путем?
Я не смог найти никакой информации об этом конкретном пункте ...