2012-07-12 82 views
1

我的應用程序由四個選項卡:一個webview和三個視圖與一些文本/ edittext,... 問題是我的應用程序消耗了大量的CPU,我不明白爲什麼,主要問題之一是當應用程序處於onPause狀態時(用戶使用home按鈕),我的應用程序仍然使用CPU(大約20%,甚至更多!),並且耗費電量。我的應用程序消耗高CPU

我不明白這有什麼用如此多的CPU,所以我有兩個問題:

  1. 我怎樣才能確切地知道(與Eclipse)過程(方法,活動...),它使用太多中央處理器 ?
  2. 如何在用戶按下主頁按鈕時使用我的應用程序消耗0個CPU來「凍結」(我想是在onPause方法中,我嘗試使用finish(),它是工作的,但是當用戶返回到我的應用程序,他得到一個FC)。

非常感謝!

編輯:

似乎我的webview消耗CPU。我怎麼能在onPause期間停止這個webview而不銷燬webview對象?

回答

5

我找到解決方案:

在web視圖中的JavaScript內容是問題。爲了解決這個:

@Override 
public void onPause() { 
    super.onPause(); 
    /* pause timer of the webview, if not, high CPU during on pause */ 
    page.pauseTimers(); 
} 

和恢復,

public void onResume() { 
    /* reactive timer */ 
    super.onResume(); 
    page.resumeTimers(); 
} 
+0

是最新的4.4及更高版本這項工作? – thecr0w 2014-12-11 02:21:56