mosmetro-android / mosmetro-android

Основной репозиторий приложения "Wi-Fi в метро"
GNU General Public License v3.0
317 stars 29 forks source link

ANR в главном меню при смене состояния Wi-Fi #124

Closed TheDrHax closed 7 years ago

TheDrHax commented 7 years ago

Один из пользователей сообщает, что приложение может надолго подвиснуть в главном меню. Судя по всему, это происходит во время старта/остановки фонового процесса. Такие вещи не стоит упускать, так что лучше проверить все операции, которые выполняются в UI-потоке.

TheDrHax commented 7 years ago

Похоже, допускать блокировку в методе onStartCommand() в ConnectionService было ОООЧЕНЬ плохой идеей. С одной стороны удалось исключить запуск второго процесса, а с другой получилось это зависание.

TheDrHax commented 7 years ago

Данное исправление не предусматривает ситуацию, когда фоновой процесс завершается очень медленно. Блокировка в onHandleIntent() не позволит запуститься новому процессу, пока не завершится предыдущий. Именно поэтому необходимо максимально ускорить завершение Provider (#128).