【发布时间】:2015-09-13 06:38:11
【问题描述】:
在我设计的应用程序中,我有几个异步任务。有几次异步任务会运行得很慢。检查日志文件显示所需的后台操作实际上并没有导致延迟。延迟是后台线程被垃圾收集(davlvikvm)阻止。我不完全确定为什么我的应用程序中发生了如此多的 GC,它并不是特别占用内存(没有视频,只有基本列表和一些图像),并且 MAT 工具没有显示任何严重的内存违规行为。无论如何,我正在寻找一种解决方案来保持我的应用程序快速运行,以避免用户长时间延迟。
我试图强制 GC 提前发生以避免它,但它仍然在这些不合时宜的时间运行。我的新想法是告诉异步任务在单独的独立线程上运行,这样它就不会被 GC 的状态所阻碍。这可能吗?有没有更好的办法?
谢谢
【问题讨论】:
标签: android memory-management android-asynctask