Как найти причину, почему перезагрузка / выключение Android случайно замораживает устройство? - PullRequest
3 голосов
/ 27 марта 2019

Существует ли какая-либо причина, по которой программный процесс или процесс выключения (или перезагрузки) командной строки в Android 7.1 может случайно привести к резкому зависанию, требующему длительного (~ 8 секунд) нажатия кнопки питания для принудительного выключения? Это происходит не каждый раз, но, кажется, случайно случается нечасто, но достаточно часто, чтобы быть проблемой.

Если бы это был чистый Linux, я мог бы предположить, что проблема в зависшей операции un-mount или чем-то в этом роде. Есть идеи как отследить причину?

Справочная информация ...

Я разрабатываю планшет в стиле "киоск", который работает круглосуточно и без выходных. Он укоренился, и я полностью контролирую его. Он также имеет настройку поставщика для автоматического включения при подключении питания.

Чтобы все было свежо и отзывчиво, я хочу выполнить команду ночной перезагрузки. Первоначально команда reboot была просто вызовом /system/bin/reboot -p через службу моего собственного приложения «watchdog», которая всегда работает в фоновом режиме. (Да, я знаю, что -p вызывает отключение планшета, но затем наша автоматическая загрузка автоматически включит его, если питание подключено, что приведет к ситуации перезагрузки ... при полной перезагрузке без -p вызывает больше проблем)

Во всяком случае, с тех пор я перешел к экспериментам со всеми следующими командами, чтобы вызвать выключение / перезагрузку, и ни одна из них не решает проблему на самом деле.

  • /system/bin/setprop sys.powerctl shutdown
  • /system/bin/svc power shutdown
  • /system/bin/am start -a android.intent.action.ACTION_REQUEST_SHUTDOWN
  • /system/bin/busybox poweroff -f
  • /system/bin/busybox poweroff -d 10 -f

Еще одна информация ... Я сделал приложение, чтобы выключать / перезагружать устройство каждые пять минут. Я запускал его примерно на дюжине устройств, и каждые 4 часа происходило около 4 или 5 сбоев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...