內(nèi)存泄漏是什么??

什么是內(nèi)存泄漏(memory leak)免绿?

指由于疏忽或錯(cuò)誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存的情況。內(nèi)存泄漏并非指內(nèi)情人q存在物理上的消失擦盾,而是應(yīng)用程序分配某段內(nèi)存后嘲驾,由于設(shè)計(jì)錯(cuò)誤淌哟,失去了對該段內(nèi)存的控制,因而造成了內(nèi)存的浪費(fèi)

我們主要關(guān)注兩種類型的內(nèi)存泄漏:

? 堆內(nèi)存泄漏(Heap leak)辽故。對內(nèi)存指的是程序運(yùn)行中根據(jù)需要分配通過malloc,realloc new等從堆中分配的一塊內(nèi)存徒仓,再是完成后必須通過調(diào)用對應(yīng)的 free或者delete 刪掉。如果程序的設(shè)計(jì)的錯(cuò)誤導(dǎo)致這部分內(nèi)存沒有被釋放誊垢,那么此后這塊內(nèi)存將不會被使用掉弛,就會產(chǎn)生Heap Leak.
系統(tǒng)資源泄露(Resource Leak).主要指程序使用系統(tǒng)分配的資源比如 Bitmap,handle ,SOCKET等沒有使用相應(yīng)的函數(shù)釋放掉,導(dǎo)致系統(tǒng)資源的浪費(fèi)喂走,嚴(yán)重可導(dǎo)致系統(tǒng)效能降低殃饿,系統(tǒng)運(yùn)行不穩(wěn)定。

如何解決內(nèi)存泄露芋肠?

內(nèi)存泄露的問題其困難在于

1.編譯器不能發(fā)現(xiàn)這些問題

2.運(yùn)行時(shí)才能捕獲到這些錯(cuò)誤乎芳,這些錯(cuò)誤沒有明顯的癥狀,時(shí)隱時(shí)現(xiàn)业栅。

3.對于手機(jī)等終端開發(fā)用戶來說秒咐,尤為困難。下面從三個(gè)方面來解決內(nèi)存泄露

第一碘裕,良好的編碼習(xí)慣携取,盡量在涉及內(nèi)存的程序段,檢測出內(nèi)存泄露帮孔。當(dāng)程式穩(wěn)定之后雷滋,在來檢測內(nèi)存泄露時(shí),無疑增加了排除的困難和復(fù)雜度文兢。
使用了內(nèi)存分配的函數(shù)晤斩,要記得要使用其想用的函數(shù)釋放掉,一旦使用完畢姆坚。
第二澳泵,重載? new 和 delete。這也是大家編碼過程中常常使用的方法兼呵。
其主要思路是將分配的內(nèi)存以鏈表的形式自行管理兔辅,使用完畢之后從鏈表中刪除,程序結(jié)束時(shí)可檢查改鏈表击喂,其中記錄了內(nèi)存泄露的文件维苔,所在文件的行數(shù)以及泄露的大小哦。


第三懂昂,Boost 中的smart pointer(待完善介时,結(jié)合大家的建議)

第四,一些常見的工具插件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市沸柔,隨后出現(xiàn)的幾起案子循衰,更是在濱河造成了極大的恐慌,老刑警劉巖勉失,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羹蚣,死亡現(xiàn)場離奇詭異,居然都是意外死亡乱凿,警方通過查閱死者的電腦和手機(jī)顽素,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來徒蟆,“玉大人胁出,你說我怎么就攤上這事《紊螅” “怎么了全蝶?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寺枉。 經(jīng)常有香客問我抑淫,道長,這世上最難降的妖魔是什么姥闪? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任始苇,我火速辦了婚禮,結(jié)果婚禮上筐喳,老公的妹妹穿的比我還像新娘催式。我一直安慰自己,他們只是感情好避归,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布荣月。 她就那樣靜靜地躺著,像睡著了一般梳毙。 火紅的嫁衣襯著肌膚如雪哺窄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天账锹,我揣著相機(jī)與錄音堂氯,去河邊找鬼。 笑死牌废,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的啤握。 我是一名探鬼主播鸟缕,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了懂从?” 一聲冷哼從身側(cè)響起授段,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎番甩,沒想到半個(gè)月后侵贵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缘薛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年窍育,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宴胧。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漱抓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恕齐,到底是詐尸還是另有隱情乞娄,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布显歧,位于F島的核電站仪或,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏士骤。R本人自食惡果不足惜范删,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敦间。 院中可真熱鬧瓶逃,春花似錦、人聲如沸廓块。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽带猴。三九已至昔汉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拴清,已是汗流浹背靶病。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留口予,地道東北人娄周。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像沪停,于是被迫代替她去往敵國和親煤辨。 傳聞我的和親對象是個(gè)殘疾皇子裳涛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容