我试图了解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 –