android – 如何找到GC_FOR_MALLOC的来源?

我正在开发一个安卓GC_FOR_MALLOC无限循环的
Android应用程序:

06-15 11:24:56.685: DEBUG/dalvikvm(118): GC_FOR_MALLOC freed 4136 objects / 374744 bytes in 66ms
06-15 11:24:59.176: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9340 objects / 524152 bytes in 645ms
06-15 11:24:59.846: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9344 objects / 524328 bytes in 149ms
06-15 11:25:01.535: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9346 objects / 524448 bytes in 193ms
06-15 11:25:02.175: DEBUG/dalvikvm(521): GC_FOR_MALLOC freed 9344 objects / 524344 bytes in 126ms

应用程序通过套接字(专用线程)读取一些jpeg图像并将其显示在imageView中. GC循环使图像显示变得臃肿.

有没有解决方案知道什么行或至少代码的哪一部分抛出垃圾收集?

谢谢

最佳答案 我不确定你是否可以访问VM并检查它为什么一直在执行gc,但gc通常在需要时执行.你应该检查一下是用了那么多内存.它可能正在加载你的图像(它是一个大图像吗?)或者它可能是你的应用程序中的其他东西.检查
this post on how to analyse your memory usage并在检查内存泄漏时检查.

点赞