Протокол длительно выполняющегося широковещательного приемника
07.09.2017
• Нам однозначно понадобится отдельный поток, который сразу же осуществит возврат в главный поток во избежание сообщений ANR.
• Чтобы воспрепятствовать уничтожению процесса и, следовательно, рабочего потока, нужно указать среде Android, что этот процесс содержит компонент, такой как служба, со своим жизненным циклом. Следовательно, потребуется создать или запустить эту службу. Сама служба не может непосредственно выполнять задачу дольше пяти секунд, поскольку это происходит в главном потоке. Поэтому служба должна запустить рабочий поток и позволить главному потоку двигаться дальше.
• На протяжении выполнения рабочего потока мы должны удерживать частичную блокировку пробуждения, чтобы устройство не перешло в спящий режим. Частичная блокировка пробуждения позволит устройству выполнять код, не включая экран и тому подобное, что способствует продлению времени работы от батареи.
• Частичная блокировка пробуждения должна быть получена в коде основного логического процесса приемника; в противном случае она будет выполнена слишком поздно. Например, это нельзя делать в службе, поскольку может пройти слишком много времени между запуском startService() широковещательным приемником и выдачей onStartCommand() службы, которая начинает выполнение. Хотите скрыть возрастные изменения на лице? Пройдите процедуру блефаропластики http://naymov.ru/lazernaya-blefaroplastika. Лучший хирург Москвы, доктор Наумов проведет ее на самом выском уровне. Результат превзойдет все ваши ожидания.
• Поскольку мы создаем службу, сама служба может останавливаться и снова запускаться из-за нехватки памяти. Если это происходит, блокировку пробуждения нужно запросить снова.
• Когда рабочий поток, запущенный методом onStartCommand() службы завершает свою работу, он должен указать службе на необходимость ее останова, чтобы она могла быть остановлена и не вызывалась снова системой Android.
• Возможно также возникновение более чем одного широковещательного события. Учитывая это, необходимо соблюдать осторожность в отношении количества порождаемых рабочих потоков.
Комментарии посетителей:
Ваш комментарий:
|