我在調試一個在位圖上運行一系列內存密集型操作的Android應用程序時遇到了一些問題。從谷歌的Debugging tips,我知道有沒有辦法在Android中進行調試時釋放線程使用的內存?
調試器和垃圾回收器目前鬆散集成。虛擬機確保調試器知道的任何對象在調試器斷開連接之後才被垃圾收集。當調試器連接時,這可能導致對象隨着時間的推移累積。例如,如果調試器看到正在運行的線程,則即使在線程終止後,相關聯的線程對象也不會被垃圾收集。
不幸的是,這意味着,在我的應用程序運行在釋放模式精細,在調試模式下運行的任何內存密集型線程會被垃圾收集器忽略,保持周圍所以越來越多的內存用作越來越會創建更多的內存密集型線程,導致應用程序崩潰,因爲它無法分配所需的內存。
有沒有什麼辦法可以明確告訴垃圾收集器應該收集這些線程還是其他方式解決這個問題?