国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

記錄內(nèi)存泄漏解決的經(jīng)驗(yàn)總結(jié)

2019-11-09 16:57:38
字體:
供稿:網(wǎng)友

          內(nèi)存泄漏的問題,是一個(gè)老生常談的問題,這里不多說,雖然網(wǎng)上解決的思路一大把,但是我把我自己的解決過程記錄一下,解決方法當(dāng)然可以百度就出來了,這里不過多記錄。

          1.使用Leakcanary,簡單使用配置如下:

dependencies {    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'}           使用當(dāng)然也非常簡單,在application的oncreate方法中加入如下代碼就好了:

LeakCanary.install(this);         這樣就可以在運(yùn)行app的時(shí)候檢查是否有內(nèi)存泄漏了。但是有些時(shí)候會(huì)發(fā)現(xiàn),報(bào)的內(nèi)存泄漏發(fā)生的位置很尷尬,為系統(tǒng)控件等等,一眼看到后覺得不是我們的代碼的問題,這個(gè)時(shí)候就需要用AS的自帶工具進(jìn)行內(nèi)存泄漏檢查了。

         2.使用AS的內(nèi)存分析工具進(jìn)行內(nèi)存泄漏檢查,使用過程如下

                 1)運(yùn)行app,然后選擇查看運(yùn)行內(nèi)存,如下圖

             1)

              2)點(diǎn)擊紅線所指向的按鈕,然后會(huì)出現(xiàn)如下圖所示效果:

             

            3)稍等一分鐘左右就會(huì)在AS中出現(xiàn)如下內(nèi)容:

             

4)上面就是此時(shí)app占用內(nèi)存的情況分析了,當(dāng)然初看比較亂,我們要進(jìn)行篩選,如下圖:

    首先紅色箭頭選中view樹結(jié)構(gòu),然后黃色箭頭選擇你自己的包名內(nèi)的文件,這時(shí)候就會(huì)看到圓圈圈中的內(nèi)容了,發(fā)現(xiàn)了沒有不是1或者0,說明這里有內(nèi)存泄漏,需要修改。好了,然后我選擇SquareView這個(gè)進(jìn)行分析,為什么是這個(gè)而不是activity或者fragment呢?因?yàn)閍ctivity和fragment中存在泄漏是由于里面的view引起的,點(diǎn)擊后看右側(cè)圖,再點(diǎn)擊后看下面的圖,藍(lán)綠色的箭頭指示位置就是具體是什么造成的內(nèi)存不能夠釋放。到此就可以根據(jù)具體位置進(jìn)行具體解決了。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 富锦市| 奎屯市| 扶沟县| 盐源县| 古田县| 宝山区| 盘锦市| 滦平县| 龙陵县| 墨竹工卡县| 崇明县| 新巴尔虎左旗| 延寿县| 宜春市| 崇仁县| 湖州市| 房产| 灌阳县| 常德市| 磐安县| 聂荣县| 都昌县| 青河县| 巴彦县| 鹰潭市| 临邑县| 麦盖提县| 从江县| 台安县| 定安县| 贡觉县| 万州区| 宣威市| 花莲县| 工布江达县| 青神县| 宜兴市| 栾川县| 兴文县| 铜川市| 木里|