O que é o cache Dalvik?

27

Ao instalar ROMs personalizadas, a maioria recomenda limpar o cache do Dalvik. O que exatamente é o cache Dalvik?

GollyJer
fonte

Respostas:

27

O cache Dalvik é o conjunto de arquivos .dex salvos. Um arquivo .dex é basicamente uma versão compilada por código de código de um aplicativo que foi criado para a Dalvik Virtual Machine na qual os aplicativos do Android são executados. É semelhante à Java Virtual Machine e salva arquivos .class.

Matthew Read
fonte
Portanto, é normal que uma ROM recém-instalada com cache Dalvik limpo demore muito tempo para inicializar pela primeira vez? porque o ParanoidAndroid com certeza está demorando; cinco minutos e contando.
badp
11
@badp Sim, minhas primeiras botas costumavam ser longas com várias ROMs. Eu não daria muito tempo antes de assumir que algo está errado.
Mateus Leia
4

Foram encontradas informações muito esclarecedoras dalvik-cacheno stackoverflow de fontes de renome (funcionários do Google que trabalhavam na plataforma de máquina virtual Dalvik).

Abaixo está o resumo, mais da perspectiva do Usuário do Android em (espero) palavras simples.

Onde está o dalvik-cache localizado no meu dispositivo Android?

Em um dispositivo Android típico, há um diretório chamado dalvik-cache. Como o Android é baseado no Linux, ele usa uma estrutura de sistema de arquivos do kernel do linux. Portanto, este diretório está localizado na /datapasta Portanto, o caminho para acessar esse cache Dalvik no dispositivo Android é/data/dalvik-cache

Qual é o objetivo do cache Dalvik?

Quando um usuário instala um novo aplicativo no Android, o Android realiza algumas modificações e otimizações no dexarquivo do aplicativo (o arquivo que contém todo o bytecode do dalvik para o aplicativo). Em seguida, ele armazena em cache o odexarquivo resultante (dex otimizado) no /data/dalvik-cachediretório, para que não precise executar o processo de otimização toda vez que carregar um aplicativo.

E se eu limpar o Dalvik Cache?

Não há nenhum efeito, além de aumentar o próximo tempo de carregamento de um aplicativo, pois ele é reconstruído. Portanto, um aplicativo levará mais tempo para carregar, pois precisa reconstruir seu Dalvik Cache. Portanto, não há problema em limpar dalvik-cacheao instalar ROMs personalizadas, pois o sistema o reconstruirá com uma nova partição.

Em uma nota adicional, a partir do Android 4.4 (KitKat) , o Google introduziu o novo Android Runtime chamado ART, que substituirá a máquina Dalvik Virtual. Fonte

O ART que usa o mesmo bytecode e .dexarquivos compila o arquivo dex no código nativo. Esse código compilado é o que está agora armazenado emdalvik-cache

AADAndroidEntusiastas
fonte