アプリのメモリ状況をチェックするコマンド

adb shell dumpsys meminfo パッケージ名

このように表示されます。
これを、例えばアプリの画面が切り替わる前後でそれぞれ取得すると、そのメモリ使用量の差分がわかったりするので、大量にメモリを消費しているシーケンスをある程度特定できたりします。

MEMINFO in pid 370 [パッケージ名] **

Shared Private Heap Heap Heap Pss Dirty Dirty Size Alloc Free ------ ------ ------ ------ ------ ------ Native 6328 1024 6300 11948 9113 1666 Dalvik 47438 14076 47080 64647 55201 9446 Cursor 0 0 0 Ashmem 2 4 0 Other dev 7469 476 656 .so mmap 900 1904 696 .jar mmap 0 0 0 .apk mmap 0 0 0 .ttf mmap 99 0 0 .dex mmap 164 0 8 Other mmap 207 8 28 Unknown 1646 280 1640 TOTAL 64253 17772 56408 76595 64314 11112 Objects Views: 1647 ViewRootImpl: 4 AppContexts: 4 Activities: 1 Assets: 2 AssetManagers: 2 Local Binders: 17 Proxy Binders: 24 Death Recipients: 3 OpenSSL Sockets: 0 SQL heap: 0 MEMORY_USED: 0 PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 46 Asset Allocations zip:データのパス/XXXXX.apk:/resources.arsc: 492 K
ちょっとだけ説明 Native → ネイティブヒープ情報。Bitmapを使用したり、ネイティブライブラリ内でmallocしたりすると消費されます。 Dalvik → Javaヒープ情報。Javaでnewしたオブジェクトや配列、String定数などが含まれます。