我决定测试一下,当应用程序在后台时,phonegap是否是实时的。
function test2(x){
$('<div></div>', {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();
它在onPause
和onResume
上打印pause
和resume
。并每秒打印timer0
、timer1
等。
当我离开应用程序开始玩游戏的时候,它还在打印。我知道我可以而且应该停止onPause
中的计时器,但仍然如此。看起来不太对劲。我原以为安卓会冻结WebView。
我知道后台线程不会停止,如果在后台应用程序,直到它被卸载。
所以问题是:有没有办法在onPause
上冻结/挂起/卸载webview,在onResume
上解冻/恢复/加载webview
当我说加载时,我的意思是当用户离开应用程序时,它应该处于相同的状态。
当我说冻结时,我的意思是我的代码将暂停,即使它将继续调用setTimeout
我想我希望Android能表现得像iOS一样。
https://stackoverflow.com/questions/21505369
复制相似问题