Max*_*Max 18 android background cordova
当应用程序在后台时,我决定测试phonegap WebView是否正常运行.
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();
Run Code Online (Sandbox Code Playgroud)
它打印pause和resume打开onPause和onResume.和打印timer0,timer1等每一秒.
即使我离开应用程序并开始玩游戏,它也在打印.我知道我可以并且应该停止计时器onPause但仍然.看起来不对劲.我预计android会冻结WebView.
我知道后台线程在后台应用程序中不会停止,直到它被卸载.
所以问题是:是否有办法冻结/暂停/卸载webview onPause和解冻/恢复/加载onResume
当我说加载时我的意思是当用户离开app时它应该处于相同的状态.
当我说冻结时,我的意思是我的代码即使在它将继续调用时也会暂停 setTimeout
我想我希望Android的行为像iOS一样.
Ele*_*ena 26
我迟到了回应.在phonegap中有一个KeepRunning参数config.xml
您必须添加以下行 config.xml
<platform name="android">
...
<preference name="KeepRunning" value="false" />
Run Code Online (Sandbox Code Playgroud)
它将调用pauseTimers()并暂停所有WebView.pauseTimers()不是隐藏方法,不需要反射.
| 归档时间: |
|
| 查看次数: |
6815 次 |
| 最近记录: |