2012-07-12 94 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