1102257_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1102257_ja-JP

1102257_ja-JP

Androidのメディアサーバーでメモリリークをデバッグする方法<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  • メディアサーバーのメモリリークを確認します。
    • libc デバッグレベルを設定します。したがって、libc は割り当てられたすべてのメモリのトレースを記録します。
      • setprop libc.debug.malloc 1
    • libc デバッグを有効にするために mediaserver を強制終了します。Androidはメディアサーバーを再起動します。
      • busybox killall -HUPメディアサーバー
  • 正しく設定すると、以下のログが表示されます。
  • I/libc ( 3074): /system/bin/mediaserver MALLOC_DEBUG = 1 を使用 (リークチェッカー)
  • メディアサーバーの使用済みメモリをすべてダンプします。
    • dumpsys media.player -m
    • 割り当て回数 297
    • 合計メモリ 1483423
    • size   262144, dup    1, 0x401f4c18, 0x400b6152, 0x401a6568, 0x4061a95c, 0x40146cfa, 0x4019639c, 0x40146ec2, 0x4014a1ec, 0x4014a3ca, 0x00008a98, 0x400b67aa
    • size   178192, dup    1, 0x401f4c18, 0x400b6152, 0x4280adae, 0x427ffcee, 0x4280ae6c, 0x427ec75a, 0x427f7e22, 0x42807648, 0x428082ea, 0x415144f0, 0x4151334a, 0x413381d0, 0x401dcbc, 0x401d438c, 0x4014d996, 0x405c3c46, 0x405c7516, 0x405c6ad4, 0x412c02ca, 0x412c0584, 0x4108c64c, 0x4107d622, 0x4107fbf2, 0x4107c19a, 0x400b2eac, 0x400b2a00
  • メモリ ダンプを 2 回 diff して、メモリ リークがあるかどうかを確認します。ダンプ間で 1 つのビデオ ファイルを再生できます。
    • 差分1.txt 2.txt > diff.txt
    • メディアサーバーのマップファイルを取得します。
      • mediaserver>/maps の adb pull proc/
    • 添付のスクリプトを使用して、トレースを関数シンボルとファイル行にマップします。
      • ./addr2func.py --root-dir=../../ --maps-file=./maps--product=sabresd_6dq diff.txt
  • :デバッグにはeng buildを使用する必要があります。


日時:Androidのメディアサーバーでメモリリークをデバッグする方法<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

すごい!!

Tags (1)
No ratings
Version history
Last update:
‎01-05-2026 08:30 AM
Updated by: