Я пишу приложение для Android, которое использует пару * двоичных файлов NIX, которые были скомпилированы в ARM, которые предоставляют сетевые сервисы на устройстве Android (примерно ~ 400 000 строк кода C, поэтому я решил пересечь-компилировать, а не переписать его в Java).
Двоичные файлы работают как демоны Android / linux (приложение разветвляет их через SU с помощью Runtime.getRuntime (). Exec ()).Чтобы они могли продолжать предоставлять услуги, когда устройство переходит в спящий режим, я предлагаю пользователю опцию wakelock - приобретение WifiManager.WifiLock в сервисе переднего плана (переднем плане, чтобы уменьшить вероятность того, что служба будет убита управлением процессом и потеряетблокировок).
Кажется, это работает нормально, но мне интересно, есть ли лучшие / альтернативные способы удержания блокировок или поддержания Wi-Fi, чем использование блокировки в службе переднего плана?Спасибо.