我試圖瞭解MT GC如何工作以避免使用(MonoTouch)MT的iOS應用程序中的內存泄漏。按照我的理解(糾正我,如果我錯了),MT內存管理以這種方式工作:每個對象都有一個標誌,上面寫着:「親愛的GC,現在我可以自由地隨時發佈」。當GC運行時,它會驗證該標誌並從內存中刪除該對象。因此,MT會將每個對象放在一個可能釋放對象的地方(可能是下一個事件循環)。這是一種自動釋放機制。但是也可以釋放一個調用其dispose方法的對象。在這種情況下,它意味着採用保留 - 釋放機制。Monotouch:垃圾回收器,託管和非託管對象
關於MT的閱讀,我已經看到有對象進入托管堆(例如對圖像的引用)以及其他進入非託管堆(例如圖像)的對象。在第一種情況下(管理人員),我不必擔心,GC運作良好。在第二個(非託管案例)中,我必須發佈內存明確性。爲什麼這個區別?你能解釋我如何區分託管與非託管對象,以及何時釋放內存調用處置方法?
預先感謝您。
更多閱讀:http://stackoverflow.com/questions/2818315/iphone-no-garbage-collection-what-about-monotouch –