EmuLabZip logo EmuLabZip

Memória

Atualizado em · Editar esta página no GitHub

A ferramenta Memory mostra para onde vai a memória do app selecionado e deixa você comparar dois momentos para ver o que cresceu.

Snapshots#

Clique em Take snapshot para registrar um detalhamento:

AndroidiOS Simulator
Fontedumpsys meminfo <package>footprint --json <pid> no Mac
TotalPSS (proportional set size)Footprint, o número que o iOS usa para decidir quando encerrar um app
CategoriasJava heap, native heap, código, stack, gráficos, outros privados, sistemaRegiões de VM como MALLOC_SMALL, __DATA, CoreAnimation
DetalhesRSS total, swap e contagem de objetos (views, activities, binders, WebViews…)Memória limpa e recuperável, número de regiões

Tire um snapshot, use o app (abra e feche uma tela algumas vezes) e tire outro. O segundo snapshot é comparado automaticamente com o anterior; escolha qualquer outra baseline no menu Compared with. As categorias são listadas pelo tamanho da mudança, com uma seta e um sinal para que a direção nunca dependa só da cor.

Uma categoria que continua crescendo ao longo de ações repetidas é um bom lugar para procurar um vazamento.

Heap dumps#

AndroidiOS Simulator
BotãoHeap dump…Memory graph…
Arquivo.hprof, escrito com am dumpheap.memgraph, escrito com leaks --outputGraph
Abra comAndroid Studio, Eclipse MAT ou PerfettoXcode (File › Open), leaks, heap, vmmap
RequisitoUm app depurável (ou uma imagem eng/userdebug)Nenhum

No Android, o dump é escrito em /data/local/tmp, copiado para o seu computador e removido do dispositivo.

O EmuLabZip também pode ler o dump por conta própria: Find leaks (ou Open dump… para um arquivo em disco) lista as Activities destruídas e os Fragments removidos que ainda estão vivos, o caminho que mantém cada um e os objetos que mantêm mais memória viva. Veja Encontrando vazamentos.

Pela linha de comando#

emulabzip mem com.example.app
emulabzip mem com.example.app --json
emulabzip heapdump com.example.app -o before-login.hprof
emulabzip heapdump com.example.app --analyze
emulabzip heap analyze before-login.hprof