增加代码缓存容量无止境

时间:2017-09-02 14:09:24

标签: android url

在运行时,我在我的Android监视器中得到它,它一直在不断扩展:

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

以下是代码:

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();
}

2 个答案:

答案 0 :(得分:1)

问题&#34;已修复&#34;,它正在使用真实设备但不在模拟设备上。

答案 1 :(得分:1)

答案可以在官方文件中找到:

https://developer.android.com/topic/performance/memory-overview

  

Android Runtime(ART)和Dalvik虚拟机使用分页和内存映射(映射)来管理内存。这意味着应用程序修改的任何内存 - 无论是通过分配新对象还是触摸映射页面 - 都会驻留在RAM中并且无法进行分页。从应用程序释放内存的唯一方法是释放应用程序所持有的对象引用,使内存可用于垃圾收集器。

     

垃圾收集

     

托管内存环境,如ART或   Dalvik虚拟机会跟踪每个内存分配。

在虚拟机中,它正在发生,但在物理设备中,结果是不同的。 垃圾收集器清理或需要清理任何未使用的东西。