web-dev-qa-db-fra.com

Augmentation de la capacité du cache de code sans fin

Pendant que je cours, je reçois ceci sur mon moniteur Android, il continue à se développer sans fin:

09-02 14:01:36.150 25666-25671/... I/zygote: Do partial code cache collection, code=30KB, data=27KB
09-02 14:01:36.150 25666-25671/... I/zygote: After code cache collection, code=30KB, data=27KB
09-02 14:01:36.151 25666-25671/... I/zygote: Increasing code cache capacity to 128KB
09-02 14:01:39.064 25666-25671/... I/zygote: Do partial code cache collection, code=59KB, data=53KB
09-02 14:01:39.066 25666-25671/...r I/zygote: After code cache collection, code=59KB, data=53KB
09-02 14:01:39.066 25666-25671/... I/zygote: Increasing code cache capacity to 256KB
09-02 14:01:46.287 25666-25671/... I/zygote: Do full code cache collection, code=123KB, data=94KB
09-02 14:01:46.298 25666-25671/... I/zygote: After code cache collection, code=97KB, data=59KB
09-02 14:01:53.853 25666-25671/... I/zygote: Do partial code cache collection, code=122KB, data=90KB
09-02 14:01:53.853 25666-25671/... I/zygote: After code cache collection, code=122KB, data=90KB
09-02 14:01:53.853 25666-25671/... I/zygote: Increasing code cache capacity to 512KB

Voici le code: 

CookieHandler.setDefault(new CookieManager(null, CookiePolicy.ACCEPT_ALL));

for (int i = 0; i < IDs.size(); i++) {
    InputStream inputStream = new URL("https://awebsite/" + IDs.get(i)).openStream();
    inputStream.close();
}
5
Aël

La réponse se trouve sur les documentations officielles: 

https://developer.Android.com/topic/performance/memory-overview.html

Android Runtime (ART) et la machine virtuelle Dalvik utilisent la pagination et le mappage de la mémoire (mappage) pour gérer la mémoire. Cela signifie que toute mémoire modifiée par une application, que ce soit en allouant de nouveaux objets ou en touchant des pages mappées, demeure dans RAM et ne peut pas être paginée. Le seul moyen de libérer de la mémoire d'une application est de libérer les références d'objet qu'elle détient, en mettant la mémoire à la disposition du garbage collector.

Garbage collection

Un environnement de mémoire géré, comme l’ART ou Dalvik machine virtuelle garde une trace de chaque allocation de mémoire.

Dans une machine virtuelle, cela se produit, mais dans un périphérique physique, le résultat est différent… .. Le ramasse-miettes nettoie ou doit nettoyer tout ce qui n'est plus utilisé.

1
Mauro Rocha

Problème "corrigé", cela fonctionne sur un vrai périphérique mais pas sur un émulé.

0
Aël