Phonegap Android应用程序在后台的CPU使用情况

问题描述:

我一直在为android做一个phonegap应用程序,但我坚持以下;当我为应用程序提供背景并检查任务选项时,该应用程序仍会消耗相当数量的CPU(5%甚至15%)。我尝试删除我的代码的所有其他部分,但是阻止应用程序在后台执行CPU活动的唯一方法是从我的代码中删除phonegap.js。Phonegap Android应用程序在后台的CPU使用情况

我的印象是Phonegap会在进入onPause时停止javascript执行,但我必须缺少一些东西。

我试过1.1.0,1.2.0 & 1.3.0没有用。有趣的是,如果我用phonegap触发2个应用程序,它们的后台CPU使用率似乎表现相同:一个上升,另一个上升,大多数情况下它们的使用率确切无疑高达百分点。

有没有人知道应用程序仍在CPU中做什么和/或如何找出?

问候

当应用进入的onPause js的执行不被中断,只停止,当应用程序被关闭/丧生。

+0

是否有变化“暂停” WebBrowser控件,所使用的PhoneGap? – Friedrich 2012-07-03 10:13:04

科尔多瓦/ PhoneGaps默认behaivior是保持应用程序在后台运行,你可以通过添加一个“keepRunning”标签,就可以config.xml中更改:

keepRunning(布尔值,默认为true) - 确定是否科尔多瓦将继续在后台运行或不

<preference name="keeprunning" value="false"/> 

我注意到了同样的问题,特别是在奇巧。为了解决这个问题,在你的主要活动(扩展DroidGap的活动)中,你需要为你的WebView(这是'appView'变量)调用onPause()方法。

这可以暂停与应显著降低CPU使用率的WebView相关的任何额外的处理:

@Override 
protected void onPause() 
{ 
    super.onPause(); 

    if (appView != null) 
    { 
     appView.onPause(); 
    } 
} 

@Override 
protected void onResume() 
{ 
    super.onResume(); 

    if (appView != null) 
    { 
     appView.onResume(); 
    } 
}