私はAndroid用のアプリを開発したばかりですが、ゲームですが3Dグラフィックは使用していません。それは私がスクリーン上でImageViewsを動かすボードゲームです。以来、私はモバイルデバイス上でまだエミュレータ上でテストしていません。問題は、サムスンギャラクシーS2の携帯電話(デュアル鉱石:()で私のアプリケーションを実行すると、CPU使用率が85%に上がり、気の利いた電話が熱くなる:D私はプロセスを終了するときそれはバックグラウンドで実行されません)0に下がります。Android。 CPU使用量が多すぎる
私は問題の修正を開始する場所がわかりません。あなたは私にアイデアを教えてもらえますか?
私はこれが起こる可能性があるため、二つの理由を考えることができますが、彼らは愚かな理由であるかもしれない:
- UIスレッドの例外を除いて、私は、それぞれがループしながら、無限を持つ、2つの以上のスレッドを持っています各スレッドのメッセージキューにメッセージがあるかどうかを調べます。これが事実だろうか?私はこれらのループに数ミリ秒の遅れを入れなければならないので、速く走らないのですか?
- また、私は約20-25のimageViewsを画面上で使用しています。これはタッチで移動しています。彼らはこれと何か関係がありますか?
エミュレータからメモリリークや何かを確認する方法はありますか?
誰かがこの問題にどのように取り組むべきかについてアドバイスをいただければ幸いです。
良いスタートはMemoryAnalyzer:http://www.eclipse.org/mat/ – noli