問題タブ [systrace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Androidでは、logcat API出力をsystraceにルーティングする方法はありますか?
ExoPlayer オープンソース アプリの動的動作を調査するために、Android systrace を使用しています。ここに学習ノートをPPTとして書いています!
とにかく、LogCat API のログ メッセージをイベントとして systrace に自動的に追加する方法を知りたいです。そのようにして、logcat イベントは、systrace 出力グラフのイベントと相関して表示されます。
これを簡単に行う方法はありますか?
ASOP コードをハッキングすることはできますが、おそらく Google の誰かがすでにこれを行っていると思われます。
android - 長いテキストで textview settext を表示するとパフォーマンスが非常に低下する
Android アプリ (最大約 300 KB) で TextView を使用して長いテキストを表示しようとしましたが、Nexus 7 でのパフォーマンスはひどいものです (約 10 秒)。テキストはスクロール可能なので、細かく分割して ListView に表示しようとしました (ViewHolder パターンを使用)。パフォーマンスは向上しますが、それでもアニメーションのスクロールは非常に不安定です。実際には、純粋なテキストでのパフォーマンスは受け入れられません (Nexus 7 は最も遅いデバイスではありません) が、最終的にはパフォーマンスを完全に低下させるスタイル付きテキストを (SpannableString を使用して) 使用します。
以下にsystrace画面を示します(実際のリンク、申し訳ありませんが、写真をアップロードするという評判はありません:)):
テキストのレンダリングが重要なタスクであることは知っていますが、iOS はそれを完全に処理するのに、なぜ Android はできないのでしょうか? そして、この問題に対する合理的な解決策はありますか?
ハードウェア アクセラレーションが有効になっています。
android - systrace 出力 html には cpu 行しかありません
次の図は、systrace の出力です。行は 1 つしかありません。HTMLをいくつかのサンプルファイルと比較すると、私のファイルには次のような行がないようです
それが理由ですか?それを解決する方法は?mips android 4.4.2 を使用しています。
android - systrace で BufferQueue の状態を取得する
アプリケーションが Android のバッファリング システムとどのように相互作用しているかをよりよく理解しようとしています。具体的には、Vsync 信号に関連して、フレームが SurfaceFlinger の BufferQueue に追加されるタイミングを最適化したいと考えています。
SurfaceView を使用する場合、BufferQueue 情報が SurfaceView 内に含まれることを理解しています。
TextureView を使用している場合はどうなりますか? これらの場合、SurfaceView カウンターはありません。SurfaceView を使用していないときのバッファ状態の他のインジケータはありますか? アプリケーション カウンターは BufferQueue の状態も示しますか?
BufferQueueProducer.cpp と BufferQueueConsumer.cpp の両方の次の行はこれを示唆しているように見えますが、可能であれば信頼投票を使用できます。
android - JNIなしでネイティブコードからAndroid systraceイベントを直接ログに記録できますか?
Android systrace ロギング システムは素晴らしいものですが、コードの Java 部分でしか機能しませTrace.beginSection()
んTrace.endSection()
。コードの C/C++ NDK (ネイティブ) 部分では、JNI を介してのみ使用できます。これは、Java 環境のないスレッドでは遅いか使用できません...
イベントをメインの systrace トレース バッファに追加したり、ネイティブ C コードから別のログを生成したりする方法はありますか?
この古い質問では、Android の systrace が使用する内部システムとして atrace/ftrace について言及しています。これは(簡単に)利用できますか?
おまけ: トレース コールはパフォーマンスが重要なセクションにあることが多いため、実際のイベント時間の後にコールを実行できることが理想的です。つまり、呼び出し自体をポーリングするのではなく、ログに記録する時間を指定できるようにしたいと考えています。しかし、それはケーキのアイシングにすぎません。
android - 結果を解析する Android systrace または atrace python パーサー
次のようにsystraceまたはatraceファイルを解析し、pythonまたは他の言語を使用してプロセスのタイムスタンプを取得する方法を知っている人はいますか?