Closed TheDrHax closed 7 years ago
Похоже, допускать блокировку в методе onStartCommand() в ConnectionService было ОООЧЕНЬ плохой идеей. С одной стороны удалось исключить запуск второго процесса, а с другой получилось это зависание.
Данное исправление не предусматривает ситуацию, когда фоновой процесс завершается очень медленно. Блокировка в onHandleIntent() не позволит запуститься новому процессу, пока не завершится предыдущий. Именно поэтому необходимо максимально ускорить завершение Provider (#128).
Один из пользователей сообщает, что приложение может надолго подвиснуть в главном меню. Судя по всему, это происходит во время старта/остановки фонового процесса. Такие вещи не стоит упускать, так что лучше проверить все операции, которые выполняются в UI-потоке.