172 похожих чатов

Всем привет! В андроиде есть такая штука, sticky service, это

сервис, который крутится на девайсе фоном, и автоматически перезапускается системой, даже если вдруг умрет из-за нехватки памяти или типа того. В айоси есть какие-нибудь аналоги для этого и если да, то по каким кивордам их искать? Мне нужно по сути дела трекать фоном, если пользователь пять минут стоял на месте по показаниям GPS.

15 ответов

10 просмотров

Background processes (TaskScheduler, BGProcessingTask, BGRefreshTask)

Yegor Gorskikh
Background processes (TaskScheduler, BGProcessingT...

Раз уж вспомнили про бекграунд процессинг. Кто нибудь делал чтобы через BGProcessingTask работал AVExportSession ? у меня он тупо встает в фоне без ошибок, пока не откроешь ручками приложение и только тогда сваливается в ошибку аля “что-то пошло не так”.

При кодировании видео используется апаратный кодировщий видео в связке с GPU. GPU в бекграунде точно не доступен. Апаратный кодировщий видео на сколько я помню тоже в бекгранде для приложения не доступен. Так что в фоне с видео особо не поработаешь. Можно конечно взять собрать ffmpeg с програмным кодировщиком. Но он медленный для телефонов. Как эксперимент разве что без предпосылки на успех.

Dmytro Hrebeniuk
При кодировании видео используется апаратный кодир...

Ну вот если активировать beginBackgroundTask через UIApplication, то на время его действия AVExportSession работает. Короткие видео у меня успевают в таком режиме уйти. Но вот через BGProcessingTask просто встает без ошибок.

Konstantin S
Ну вот если активировать beginBackgroundTask через...

Для BGProcessingTask я рекомендую логгировать все что можно и потом уже по-логах смотреть.

Dmytro Hrebeniuk
Для BGProcessingTask я рекомендую логгировать все ...

Да вот я так и сделал, процессинг начинается по логам. Но без окончания, прогресса и какой-либо ошибки.

Konstantin S
Да вот я так и сделал, процессинг начинается по ло...

А как себя ведет AVExportSession если ее запустить в UIApplication в didBecomeBackground ?

Dmytro Hrebeniuk
А как себя ведет AVExportSession если ее запустить...

Если beginBackgroundTask запущен, то какое-то время идет, если нет то просто засыпает как и в случае BGProcessingTask

ну вот походу отрубили, может майнеров боятся

Konstantin S
ну вот походу отрубили, может майнеров боятся

скорее борятся за время работы от батареи

1 2
скорее борятся за время работы от батареи

Ну так там можно настроить таск чтобы вызывался только при подключенной зарядке. Все равно не фурычит (

Konstantin S
Ну так там можно настроить таск чтобы вызывался то...

из соображений "зачем gpu если экран потушен"

Konstantin S
Раз уж вспомнили про бекграунд процессинг. Кто ниб...

Слушай насколько я помню он включится рандомно и не сразу и это сложно тестить. Могу скинуть видео где про это поподробней.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта