nw_path_monitor_t / NWPathMonitor: необходима ли отмена в фоновом режиме/возобновление на переднем плане?

Я использую пакет Network.framework в iOS для отслеживания изменений в сети. Я использую Objective C, но тот же базовый код, что и Swift NWPathMonitor. С приведенным ниже кодом все работает отлично, но любопытно, есть ли какие-либо соображения по долгосрочному жизненному циклу, которые я упускаю.

Должен ли я отменить монитор пути, когда приложение переходит в фоновый режим, и перезапустить его, когда оно выходит на передний план? Или можно оставить его в фоновом режиме на неопределенный период времени, и он не будет потреблять дополнительные ресурсы и возобновит работу после повторного включения?

Я не жду обновлений в фоновом режиме, я просто хочу убедиться, что они:

  1. Не потребляет значительных дополнительных ресурсов или увеличивает вероятность удаления приложения из памяти.
  2. Он получит обновление, когда приложение возобновит работу на переднем плане, обнаруживая все обновления, которые оно могло пропустить в фоновом режиме.
              self.monitor = nw_path_monitor_create();
        nw_path_monitor_set_queue(
            self.monitor,
            dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0));
        __weak CMNetworkMonitor *weakSelf = self;
        nw_path_monitor_set_update_handler(
            self.monitor, ^(nw_path_t _Nonnull path) {
              weakSelf.currentPath = path;
              dispatch_semaphore_signal(weakSelf.readReadySemaphore);
            });
        nw_path_monitor_start(self.monitor);

0 ответов

Другие вопросы по тегам