關於資源保護與記憶體釋放問題

2021-04-14 22:56:29 字數 1120 閱讀 9743

今天開始決定看看這方面的問題,現在罈子裡搜搜。在找找其它資料  

1。tstrings   必須手工釋放   free   (tstringlist   在堆裡分配記憶體,沒有擁有者,所以沒有幫她釋放的類)  

2.關於form釋放問題  

要徹底釋放窗體,光close是不夠的。   一般需在onclose事件中寫action:=cafree   並在  

formdestroy事件中寫from:=nil;  

方法1:  

try  

if   not   assigned(form2)   then  

form2.showmodal;  

finally  

form2.free;  

form2:=   nil;    

end;  

方法二  

procedure   tform2.formclose(sender:   tobject;   var   action:   tcloseaction);  

begin  

action   :=   cafree;  

end;  

procedure   tform2.formdestroy(sender:   tobject);  

begin  

form2:=nil;  

end;  

3.有建立就要有釋放  

開啟乙個     建立乙個     關閉乙個     釋放乙個      

4.看了一天的貼子,有些感觸:誰建立誰負責釋放。  

靜態變數系統負責  

動態變數自己負責  

無論如何要保證記憶體不會洩漏,下面為摘抄文字:  

1在靜態區:這種變數在編譯的時候就分配空間,生命週期可以認為和你的程序一樣長。  

不用手動分配和釋放。比如:全域性變數。  

2在棧上:由系統自動分配,自動釋放。生命週期侷限與作用域(乙個函式和過程)。  

比如:所有的區域性變數和函式過程的引數。  

3在堆上:用之前由你向系統申請空間,用過後必須手動釋放,否則記憶體洩露。  

比如:delphi中所有類的例項.        

UWSGI關於記憶體釋放問題

bin bash ps ef grep p project pid awk xargs kill 9 ulimit n 20000 usr local env project bin uwsgi s 127.0.0.1 7001 m r 200 p 4 evil reload on as 100 e...

關於php記憶體釋放問題(二)

今天抽了一上午時間,來看了看之前解決過記憶體問題的 相對來說,我對自己 的優化程式非常不滿意,一次性匯入四萬條資料就使 變得如此繁瑣,我想這不是根本的解決方法。通過網上檢索,對問題有進一步的分析 在php記憶體溢位的問題中,前兩種方法就不提了 可以參考 關於php記憶體釋放問題 在博園中 不難分析出...

wpf image資源釋放問題

使用image控制項顯示後,雖然自己釋放了資源,image.source null 了一下,但是實際沒有釋放。解決方案1 public static bitmapimage getimage string imagepath return bitmap 使用時直接通過呼叫此方法獲得image後立馬釋...