2012-01-16 62 views
4

我一直在爲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中做什麼和/或如何找出?

問候

回答

2

當應用進入的onPause js的執行不被中斷,只停止,當應用程序被關閉/喪生。

+0

是否有變化「暫停」 WebBrowser控件,所使用的PhoneGap? – Friedrich 2012-07-03 10:13:04

1

科爾多瓦/ PhoneGaps默認behaivior是保持應用程序在後臺運行,你可以通過添加一個「keepRunning」標籤,就可以config.xml中更改:

keepRunning(布爾值,默認爲true) - 確定是否科爾多瓦將繼續在後臺運行或不

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

我注意到了同樣的問題,特別是在奇巧。爲了解決這個問題,在你的主要活動(擴展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(); 
    } 
}