Я отслеживал смехотворно высокие времена загрузки, о которых сообщил javascript моего приложения, и обнаружил, что Android (и iOS) приостанавливают выполнение некоторого JavaScript, когда окно находится в фоновом режиме или дисплей выключен.
В Android я обнаружил, что могу использовать события window.onfocus
и onblur
, чтобы определить, когда приложение переключается в фоновый режим (и выполнение js вскоре будет приостановлено, по крайней мере, для новых скриптов), но я не могу найти способ обнаружить когда экран включен или выключен. Это возможно?
(В Safari у меня были аналогичные результаты, за исключением того, что onfocus
и onblur
не срабатывали надежно.)
onblur
иonfocus
, учитывая, что Android обычно переходит на какой-то экран блокировки? Я думаю, что его отключение может привести к срабатываниюonblur
, и, по крайней мере, его пробуждение сработаетonblur
(если его отключение не сработает), потому что Android вызывает экран блокировки, а затем, пройдя через экран блокировки, сработаетonfocus
так как вы переходите с экрана блокировки обратно в активное приложение. Я не эксперт по Android, но решил выкинуть эту мысль, если вы не проверили. - person ajp15243   schedule 12.04.2013