我怀疑我自己的项目存在内存问题。但我决定在 Android Studio 中测试一个新的空白项目并启动它,然后不要碰任何东西。这是同一个问题。
我的日志:
08-27 09:25:36.909 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 385K, 15% free 3118K/3664K, paused 1ms, total 1ms
08-27 09:25:37.773 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 407K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:38.561 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 3ms, total 3ms
08-27 09:25:39.317 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:40.101 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:40.909 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 1ms, total 1ms
08-27 09:25:41.685 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:42.365 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:43.141 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 1ms, total 1ms
08-27 09:25:43.973 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
08-27 09:25:44.629 1276-1288/**** D/dalvikvm﹕ GC_FOR_ALLOC freed 4 08K, 16% free 3102K/3676K, paused 2ms, total 2ms
我在这个新项目中有 0 行自己的代码,它是 Android Studio 生成的全新项目。我正在运行一个虚拟设备 (Android Emulator) 4.0.3 x86。这与我的 Nexus 5 或 Genymotion 相同。
这正常吗?
编辑
感谢江永东和weston的回答,我更深入地调查了内存堆的问题:
因此所有分配主要来自 dumpGfxInfo()。 感谢这些信息,我能够在 StackOverFlow 上找到类似的帖子:Android: Constant memory consumption / dumpGfxInfo()这似乎是 Android Studio 的一个问题,在此处记录:https://code.google.com/p/android/issues/detail?id=182869
编辑2
现在已在 Android Studio 1.4 beta 中修复
最佳答案
首先,如果消耗的内存随时间增加,这只是内存泄漏。这些图表没有显示这一点。
其次,我认为内存锯齿纹一定是正常的。您的第一个图表具有较大的波峰和波谷,因此它指向您的项目在空项目上完成的额外分配,但它对于实际跟踪分配和垃圾收集问题并没有多大帮助。
更好的选择是在 android 设备监视器中,分配跟踪器:
单击开始跟踪,然后获取分配。你会看到那个时期分配了什么。单击每个条目会提供分配的调用堆栈。
您可以使用它来查看空项目发生了什么,也可以查看您的项目发生了什么。
关于android - 大量 GC,Android 监视器锯齿波 = 内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243546/