還是要使用fastmm,這樣可以檢查內存問題,還可以提高性能。
1.GetMem分配內存,fastmm可以追查到分配函數,如果是GetMem那就很簡單了,用try…finally來釋放。如果不是這個函數釋放的,就需要注意確認釋放函數是否被執行。
2.Stream寫入也會分配內存,這時候就要注意Stream是否被釋放。
3.異常是否被觸發。如果觸發異常也有可能導致內存泄漏。那麼在同一個函數內用try…finally來確保釋放,如果不是則要用try…except來處理錯誤。
kol方面要注意的:
1.類裏面的字符串必須在Destory中釋放,而且Destory中必須執行inherited;父類釋放。
檢查最近添加的類屬性,並且檢查Destory函數。
一般來說雖然退出程序會自動收回內存的,但是最好還是顯式地寫明釋放,可以使用try…finally來確保執行釋放。
—