PhoneGap продолжает работать на Android после onPause
Я решил проверить, работает ли PhoneGap WebView, когда приложение находится в фоновом режиме.
function test2(x){
$('', {text: x.cmd}).appendTo($('#list'));
}
$(function(){test2({cmd:"start"});});
function cb_pause(){test2({cmd:"pause"});}
function cb_resume(){ test2({cmd:"resume"});}
function tick(){test2({cmd:"timer" + timer});timer++;setTimeout(tick, 1000);}
document.addEventListener("pause", cb_pause, false);
document.addEventListener("resume", cb_resume, false);
tick();
Это печатаетpause
а такжеresume
наonPause
а такжеonResume
, и распечатать,timer0
timer1
и т. д. каждую секунду.
Он печатал, даже когда я оставил приложение и начал играть в игру. Я знаю, что могу и должен остановить таймер вonPause
но до сих пор. Это выглядит неправильно. Я ожидал, что Android заморозит WebView.
Я знаю, что фоновый поток не остановится, если в фоновом приложении, пока он не выгружен.
Так что вопрос: есть ли способ заморозить / приостановить / выгрузить веб-просмотр наonPause
и разморозить / возобновить / загрузитьonResume
Когда я говорю «загрузить», я имею в виду, что он должен быть в том же состоянии, когда пользователь покинул приложение.
Когда я говорю "заморозить", я имею в виду, что мой код будет приостановлен, даже если он будет продолжать вызыватьsetTimeout
Я предполагаю, что Android будет вести себя как iOS.