第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

內(nèi)存溢出和內(nèi)存泄漏的區(qū)別,產(chǎn)生原因以及解決方案?

內(nèi)存溢出和內(nèi)存泄漏的區(qū)別,產(chǎn)生原因以及解決方案?

JVM
莫回?zé)o 2018-10-05 07:03:44
內(nèi)存溢出和內(nèi)存泄漏的區(qū)別,產(chǎn)生原因以及解決方案
查看完整描述

1 回答

?
寶慕林4294392

TA貢獻2021條經(jīng)驗 獲得超8個贊

內(nèi)存溢出 out of memory,是指程序在申請內(nèi)存時,沒有足夠的內(nèi)存空間供其使用,出現(xiàn)out of memory;比如申請了一個integer,但給它存了long才能存下的數(shù),那就是內(nèi)存溢出內(nèi)存泄露 memory leak,是指程序在申請內(nèi)存后,無法釋放已申請的內(nèi)存空間,一次內(nèi)存泄露危害可以忽略,但內(nèi)存泄露堆積后果很嚴重,無論多少內(nèi)存,遲早會被占光。memory leak會最終會導(dǎo)致out of memory!

產(chǎn)生的原因:

1.內(nèi)存中加載的數(shù)據(jù)量過于龐大,如一次從數(shù)據(jù)庫取出過多數(shù)據(jù);

2.集合類中有對對象的引用,使用完后未清空,使得JVM不能回收;

3.代碼中存在死循環(huán)或循環(huán)產(chǎn)生過多重復(fù)的對象實體;

4.使用的第三方軟件中的BUG;

5.啟動參數(shù)內(nèi)存值設(shè)定的過小

解決方案:

1)處理一些IO流的數(shù)據(jù)傳輸時,盡量結(jié)束時候把IO流關(guān)掉

2)處理下載照片時候,使用BitmapFactory.options。設(shè)置insameplesize()方法壓縮圖片減少資源的占用;圖片的壓縮問題下面會寫一個專門專題來講;

3)還可以通過降低照片像素的方法,從而降低占用的內(nèi)存

4)資源的回收:Bitmap.recycle()bitmap=null;

5)盡量使用全局的變量,少new新的對象


內(nèi)存泄漏本身不會產(chǎn)生什么危害,作為一般的用戶,根本感覺不到內(nèi)存泄漏的存在。真正有危害的是內(nèi)存泄漏的堆積,這會最終消耗盡系統(tǒng)所有的內(nèi)存。從這個角度來說,一次性內(nèi)存泄漏并沒有什么危害,因為它不會堆積,而隱式內(nèi)存泄漏危害性則非常大。導(dǎo)致程序crash;


查看完整回答
反對 回復(fù) 2018-10-20
  • 1 回答
  • 0 關(guān)注
  • 809 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號