Почему Планировщик заданий предпочтительнее в Oreo? - PullRequest
0 голосов
/ 28 мая 2018

Раньше я запускал LocationService с помощью следующей команды

startService(new Intent(MainActivity.this, LocationUpdateService.class));

, но поскольку Oreo не поддерживает его, я перешел на JobSchedular, и теперь я делаю это.

final int hourly = (int)TimeUnit.HOURS.toSeconds(1); 
final int toleranceInterval = (int) TimeUnit.MINUTES.toSeconds(15);

    Job job = dispatcher.newJobBuilder()
                .setLifetime(Lifetime.FOREVER)
                .setService(LocationUpdateService.class)
                .setTag("LocationJob")
                .setRecurring(true)
                .setReplaceCurrent(true)
                .setTrigger(Trigger.executionWindow(hourly,toleranceInterval))
                .build();
        return job;


    FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
    Job job=createJob(dispatcher);
    dispatcher.schedule(job);

Первоначально моя служба определения местоположения использовалась для отправки мне lat/lng пользователя через каждые 1 час.Теперь с FirebaseJobDispatcher я запланировал эту работу, и она запускается Location service через каждые 1 час.Так в чем же разница?

В обоих случаях моя служба определения местоположения выполняет сетевую работу и отправляет пользователя lat/lng через каждые 60 минут.Я хочу знать, какой прирост производительности мы получаем при использовании JobSchedular

...