12

Android 4.2.2 のルート化されていない Nexus 4 で、systrace を使用してアプリのパフォーマンスを測定しています。私には意味のわからないレポートがいくつか見られます。それらが systrace のバグなのか、それともこれらの症状の潜在的な根本原因を誰かが知っているのではないかと考えています。

1- 実行終了時の performTraversals での大規模な再帰

レポートへのリンク- 実行の最後 (~18 秒) に大きな曲線が表示されます。私の理解では、performTraversals はフレームワーク レベルであり、ユーザー インターフェイスの単一フレームを描画します。そのため、その下に再帰呼び出しがある可能性があることは意味がありませんでした。また、実行の最後にこの種の指数関数的なスタッキングが発生するため、これは実際には実行の終了時にデータの systrace に欠陥があるだけだと思いました。この種の再帰は可能ですか?どういう意味ですか?

2- 長いバッファー スワップ時間での実行の途中での performTraversals の再帰

レポートへのリンク - 12 秒前後から興味深い動作が始まります。ランニングの途中で似たようなものを見たとき、これを書き留めるべきではないのではないかと思いました。また、同僚がそれを無視するように私に言ったとき、私は無駄に長い eglSwapBuffers/queueBuffer (私のアプリは openGL を使用せず、フレームワークを直接使用するだけです) の原因を突き止めるために多くの時間を費やしましたバッファーのスワップは常に瞬時に行われるためです。それ以上のことがあるのでしょうか?ここで調べることはありますか?

4

1 に答える 1