2012-02-10 4 views
-2

私はこの問題を抱えています。私のアプリケーションでAsyncTaskを実行すると、CPUは常に最高頻度で動作します。どのように私はそれを避けることができます誰も助けることができます。なぜAsyncTaskはCPUを常に最高頻度で動作させますか?

+0

タスクで何をしていますか? – jprofitt

+0

あなたの非同期タスクは何をしていますか?それは実際に(タスクマネージャーによって報告される)100%CPU使用率を引き起こしていますか?速度段階の比較的新しい機能(または現在の機能)までCPU **は常に最高周波数で動作しましたが、実行するタスクがなくなると停止します。 –

+0

cat unixコマンドでいくつかの文字列を取得し、この文字列でtextviewを編集します。私は無限ループでそれを使用します。 – Adam

答えて

0

ハードループで何かをしているからだと思います。ちょうど何かがAsyncTaskに入っているからといって、良いプログラミング習慣を使用する必要がないというわけではありません。

+0

cat unixコマンドでいくつかの文字列を取得し、この文字列でtextviewを編集します。私は無限ループでそれを使用します。 – Adam

+0

無限ループで何かをやっているなら、どのようにCPU使用率を100%にすることができますか?あなたの 'doInBackground()'には、CPUが他のことをできるようにするために 'Thread.sleep(500);'への呼び出しを挿入します。 –

+0

'sleep(500)'は 'While(1)'より優れていますが、特にこれが電話で動くことを意図している場合は、より良いイベントが発生すると思います。 –

関連する問題