Android GC_CONCURRENT总堆大小

时间:2014-05-21 13:17:31

标签: android heap logcat

首先:我使用了搜索功能,但没有任何答案帮助我。

我有一个来自http://kociemba.org/cube.htm的算法来解决java中的rubiks多维数据集,我想在Android设备上运行它(在这种情况下是三星Galaxy S2)。但是当我运行该功能时,应用程序“冻结”并且LogCat经常显示:

  

GC_CONCURRENT释放394K,16%免费9600K / 11335K,暂停12ms + 12ms,总计60ms

如果我想创建以下类,则会出现此问题:

CoordCube c = new CoordCube(cc);

我不想发布整个CoordCube类,但算法中有很多静态表。在算法的文档中,据说它需要5 MB的内存空间。

所以我认为总堆太低了。

getMemoryClass()返回48 MB,所以我想知道为什么总堆大小(根据GC_CONCURRENT语句)是~12MB。因此有非常大的静态表,没有机会减少内存使用。

有没有办法增加堆大小,以便我可以创建这个类?我试过 android :: largeHeap =“true”,但没有改变。

我希望有人能帮助我!提前谢谢。

修改

我让程序在没有调试器的情况下运行几分钟然后继续运行。如果我重新运行代码,它运行不到一秒钟。 (因为我猜的静态数据)。因此,第一次执行需要很长时间。

GC_CONCURRENT语句的已用内存和总内存会增加,直到完成为止。 知道如何加快这个程序吗?

0 个答案:

没有答案