如何减少Android手机中App的CPU使用率?

| 我开发了一个自动呼叫应用程序。该应用程序读取包含电话号码列表的文本文件,并拨打电话几秒钟,结束通话,然后重复。 我的问题是该应用程序在10〜16小时后无法发送呼叫。我不知道确切原因,但我想问题出在CPU使用率上。我的应用程序的CPU使用率接近50%!如何减少CPU使用率? 这是源代码的一部分:
if(r_count.compareTo(\"0\")!=0) {
    while(index < repeat_count) {
        count = 1;
        time_count = 2;

        while(count < map.length) {
           performDial();   //start call
          reject();                   //end call
          finishActivity(1);
          TimeDelay(\"60\");            // wait for 60sec
          count = count + 2;
          time_count = time_count + 2;
          onBackPressed();            // press back button for calling next number
          showCallLog();
          finishActivity(0);
       }
      index++;
}
这是“ 1”方法的来源:
public void TimeDelay(String delayTime) {

    saveTime = System.currentTimeMillis()/1000;
    currentTime = 0;
    dTime = Integer.parseInt(delayTime);

    while(currentTime - saveTime < dTime) {
        currentTime =  System.currentTimeMillis()/1000;

    }

}
TimeDelay()
在while循环中重复几次。     
已邀请:
        它占用您CPU的50%的原因是,Android显然不会让它使用CPU的100%,这就像您的
TimeDelay()
中的循环一样。 (否则,您有两个CPU,而实际上实际上是使用一个CPU的100%。)您正在做的事情称为忙等待,很显然,为什么不断检查条件会占用很多CPU。所以不要那样做。改用
Thread.sleep()
。然后,您的应用将在等待期间完全不使用CPU。 另外,看在上帝的份上,为什么你先传递一个字符串然后and6ѭ,而不是首先传递一个ѭ7?? :-)     
        如果您的方法需要很长时间才能完成,尤其是while循环。您应将
Thread.sleep(50)
放入循环中。这使您的处理器能够处理其他进程。 您的CPU将减少。不确定,但您应该尝试。 希望你能取得好的成绩。     

要回复问题请先登录注册