Android多线程 - 将应用程序发送到后台后WaitForGcToComplete

Kev*_*vin 8 multithreading android garbage-collection

我正在使用Android L进行大量多线程操作,使用多个ThreadPoolExecutors来运行AsyncTasks队列.

当我的应用程序进入后台时,我开始看到许多日志...

I/art: WaitForGcToComplete blocked for ##.#####ms for cause XXXXX

......偶尔......

I/art: No such thread id for suspend: ###.

似乎很明显,正在发生的事情使GC需要比预期更长的时间.日志由AOSP中的art/runtime/gc/heap.cc生成.辅助日志消息表明它可能与我的线程池有关.不清楚的是,为什么只有在将应用程序发送到后台时才会发生这种情况(即记录).

由于这个原因,我还没有看到任何崩溃,但我还有更多的测试要经历.有没有人遇到与这些日志一致的问题?