android 后台执行js,android - 当应用程序在后台运行时,Android WebView消耗大量电能...

我的Android应用程序中有一个WebView,并且此WebView运行的网站上带有相当多的Javascript。当我的应用程序在后台运行时,用户报告了高功耗,我希望这是由于此javascript。但是,我不想完全卸载或删除WebView,因为这会影响恢复时间。

当应用程序在后台运行时,有什么方法可以有选择地关闭Javascript和/或完全禁用WebView(onPause())吗?

最佳答案

根据http://www.mcseven.me/2011/12/how-to-kill-an-android-webview/的唯一可行方法是不使用javascript重定向到空白页(并在恢复后返回)。

在使用PhoneGap的情况下,页面应包含返回自身的代码:

$(document).on('deviceready', function() {

$(document).on('resume', function() {

return history.back ? history.back() : history.go(-1);

});

});

更新:上面是针对Cordova2.x.x。在Cordova 3.x.x中(不确定是否从3.0.0开始,但是肯定在3.7.x中),您可以在配置XML中简单地添加KeepRunning首选项:

这将暂停所有JS计时器,直到APP再次恢复为止。参见https://stackoverflow.com/a/21629586/2011448。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值