欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android內(nèi)存溢出及內(nèi)存泄漏原因進(jìn)解析

 更新時(shí)間:2020年08月06日 11:31:16   作者:志不堅(jiān)者智不達(dá)  
這篇文章主要介紹了Android內(nèi)存溢出及內(nèi)存泄漏原因解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

內(nèi)存溢出(Out Of Memory):Android系統(tǒng)中每一個(gè)應(yīng)用程序可以向系統(tǒng)申請(qǐng)一定的內(nèi)存,當(dāng)申請(qǐng)的內(nèi)存不夠用的時(shí)候,就產(chǎn)生了內(nèi)存溢出。

內(nèi)存泄漏:當(dāng)某個(gè)對(duì)象不再被使用,即不再有變量引用它時(shí),該對(duì)象占用的內(nèi)存就會(huì)被系統(tǒng)回收。當(dāng)某個(gè)對(duì)象不再被使用,但是在其他對(duì)象中仍然有變量引用它時(shí),該對(duì)象占用的內(nèi)存就無(wú)法被系統(tǒng)回收,從而導(dǎo)致了內(nèi)存泄漏。

當(dāng)內(nèi)存泄漏過(guò)多時(shí),可用內(nèi)存空間會(huì)減少,應(yīng)用程序申請(qǐng)的內(nèi)存不夠用,就會(huì)導(dǎo)致內(nèi)存溢出。

內(nèi)存溢出原因:

1.內(nèi)存泄漏過(guò)多。

2.內(nèi)存中加載的數(shù)據(jù)量超過(guò)內(nèi)存的可用量。

3.集合類(用于存儲(chǔ)對(duì)象的引用)中有對(duì)對(duì)象的引用,使用完后未清空。

4.申請(qǐng)的內(nèi)存不夠。

5.死循環(huán)或者循環(huán)產(chǎn)生過(guò)多對(duì)象實(shí)例,導(dǎo)致大量?jī)?nèi)存被消耗。

。。。

內(nèi)存泄漏原因:

1.資源對(duì)象沒(méi)有關(guān)閉:

(1)注冊(cè)廣播接收器后沒(méi)有調(diào)用unregisterReceiver()方法注銷廣播接收器。

(2)打開(kāi)文件流之后沒(méi)有調(diào)用close()方法關(guān)閉文件流。

(3)數(shù)據(jù)庫(kù)游標(biāo)cursor使用完后沒(méi)有調(diào)用close()方法關(guān)閉游標(biāo)。

(4)圖片資源Bitmap使用完之后沒(méi)有調(diào)用recycle()方法回收。

。。。

2.生命周期長(zhǎng)的對(duì)象持有生命周期短的對(duì)象的引用,導(dǎo)致生命周期短的對(duì)象內(nèi)存無(wú)法被回收:

(1)單例模式或者靜態(tài)成員變量的生命周期和應(yīng)用程序的生命周期相等,當(dāng)需要引用Context時(shí),如果傳入的是Activity的Context,Activity需要被銷毀時(shí)就無(wú)法被回收。解決方法是傳入Application的Context,因?yàn)锳pplication的Context生命周期等于應(yīng)用程序的生命周期。

(2)非靜態(tài)內(nèi)部類(匿名內(nèi)部類、Handler等)默認(rèn)持有外部類的引用,如果非靜態(tài)內(nèi)部類的對(duì)象實(shí)例生命周期比外部類生命周期長(zhǎng)(比如非靜態(tài)內(nèi)部類定義了一個(gè)靜態(tài)的對(duì)象實(shí)例),外部類注銷時(shí)就無(wú)法被系統(tǒng)回收,從而導(dǎo)致內(nèi)存泄漏。解決方法是采用靜態(tài)內(nèi)部類+弱引用的方式。

總結(jié):內(nèi)存泄漏產(chǎn)生的原因主要有兩種:一種是資源對(duì)象在使用完后沒(méi)有進(jìn)行關(guān)閉操作。另一種是生命周期長(zhǎng)的對(duì)象引用了生命周期短的對(duì)象,導(dǎo)致生命周期短的對(duì)象即使不再使用但仍然無(wú)法被系統(tǒng)回收。根本原因在于需要被回收的內(nèi)存資源沒(méi)有被系統(tǒng)回收。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Flutter?Animation實(shí)現(xiàn)縮放和滑動(dòng)動(dòng)畫(huà)效果

    Flutter?Animation實(shí)現(xiàn)縮放和滑動(dòng)動(dòng)畫(huà)效果

    這篇文章主要為大家詳細(xì)介紹了Flutter?Animation實(shí)現(xiàn)縮放和滑動(dòng)動(dòng)畫(huà)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Android源碼解析之屬性動(dòng)畫(huà)詳解

    Android源碼解析之屬性動(dòng)畫(huà)詳解

    在手機(jī)上去實(shí)現(xiàn)動(dòng)畫(huà)效果算是件比較炫酷的事情,自Android 3.0版本開(kāi)始,系統(tǒng)給我們提供了一種全新的動(dòng)畫(huà)模式,屬性動(dòng)畫(huà)(property animation),它的功能非常強(qiáng)大,彌補(bǔ)了之前補(bǔ)間動(dòng)畫(huà)的一些缺陷,幾乎是可以完全替代掉補(bǔ)間動(dòng)畫(huà)了。本文就詳細(xì)介紹了Android中的屬性動(dòng)畫(huà)。
    2017-02-02
  • Android讀取properties配置文件的實(shí)例詳解

    Android讀取properties配置文件的實(shí)例詳解

    這篇文章主要介紹了Android讀取properties配置文件的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • RecyclerView下拉刷新上拉加載

    RecyclerView下拉刷新上拉加載

    本文主要介紹了RecyclerView下拉刷新上拉加載的具體實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Android中AsyncTask詳細(xì)介紹

    Android中AsyncTask詳細(xì)介紹

    這篇文章主要介紹了Android中AsyncTask詳細(xì)介紹,AsyncTask是一個(gè)很常用的API,尤其異步處理數(shù)據(jù)并將數(shù)據(jù)應(yīng)用到視圖的操作場(chǎng)合,需要的朋友可以參考下
    2015-01-01
  • Android自定義日歷Calender代碼實(shí)現(xiàn)

    Android自定義日歷Calender代碼實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Android自定義日歷Calender實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • android隨機(jī)生成圓形云標(biāo)簽效果

    android隨機(jī)生成圓形云標(biāo)簽效果

    這篇文章主要為大家詳細(xì)介紹了android隨機(jī)生成圓形云標(biāo)簽效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Android高效加載大圖、多圖解決方案 有效避免程序OOM

    Android高效加載大圖、多圖解決方案 有效避免程序OOM

    這篇文章主要為大家詳細(xì)介紹了Android高效加載大圖、多圖解決方案,有效避免程序OOM,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android中TelephonyManager用法實(shí)例

    Android中TelephonyManager用法實(shí)例

    這篇文章主要介紹了Android中TelephonyManager用法,結(jié)合實(shí)例形式分析了TelephonyManager類的功能,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-03-03
  • Android自定義View獲取注冊(cè)驗(yàn)證碼倒計(jì)時(shí)按鈕

    Android自定義View獲取注冊(cè)驗(yàn)證碼倒計(jì)時(shí)按鈕

    這篇文章主要介紹了Android自定義View獲取驗(yàn)證碼倒計(jì)時(shí)按鈕的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評(píng)論