2017-09-05 4 views
0

アンドロイドスタジオを使ってアンドロイドアプリケーションを持ってアプリケーションのパフォーマンステストをしています。 Method Tracingで、CPUの約57%がandroid.os.Handler.dispatchMessageに表示されていることがわかりました。アプリケーションの中に別のハンドラを使用していますが、なぜアプリケーションが使用されていなくても、これらのCPUが非常に多く消費されていますか?実際には、私のアプリケーションのどの部分がCPUを多く消費しているのか、なぜアプリケーションがより多くのバッテリを消費するのかを把握したいのです。どのように私はこれらの種類の呼び出しでCPU時間を減らすことができます。アプリケーションのロットCPU

enter image description here

答えて

0

それはJVMのと要件CPU時にほとんどを使用してデバイスのようになります。ここでは、トレースのスクリーンショットです。以下のような レイアウト-layoutレイアウト - は、このような

  1. Javaクラスは、レイアウトUIが(あまりビュー描画するのが難しいかもしれ
  2. (行番号が高すぎる)大きすぎるかもしれない、その理由の多くが存在することができこの)
  3. たぶん、あまりにも大きなparcelableオブジェクト....

コードを見ることなく、何かを言うことはところで本当に難しいです。

+0

ありがとうございます。問題はアプリケーションの中にアニメーションがあることです。 – user565

+0

それを聞いてうれしい。ビューの可視性に触れ、これらの内部スレッド(ハンドラ)のような位置は、アプリケーションのパフォーマンスを低下させる可能性があります。 https://developer.android.com/training/articles/perf-tips.html – mbakgun

関連する問題