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

首頁 > 學院 > 開發設計 > 正文

記錄內存泄漏解決的經驗總結

2019-11-09 15:44:18
字體:
來源:轉載
供稿:網友

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

          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'}           使用當然也非常簡單,在application的oncreate方法中加入如下代碼就好了:

LeakCanary.install(this);         這樣就可以在運行app的時候檢查是否有內存泄漏了。但是有些時候會發現,報的內存泄漏發生的位置很尷尬,為系統控件等等,一眼看到后覺得不是我們的代碼的問題,這個時候就需要用AS的自帶工具進行內存泄漏檢查了。

         2.使用AS的內存分析工具進行內存泄漏檢查,使用過程如下

                 1)運行app,然后選擇查看運行內存,如下圖

             1)

              2)點擊紅線所指向的按鈕,然后會出現如下圖所示效果:

             

            3)稍等一分鐘左右就會在AS中出現如下內容:

             

4)上面就是此時app占用內存的情況分析了,當然初看比較亂,我們要進行篩選,如下圖:

    首先紅色箭頭選中view樹結構,然后黃色箭頭選擇你自己的包名內的文件,這時候就會看到圓圈圈中的內容了,發現了沒有不是1或者0,說明這里有內存泄漏,需要修改。好了,然后我選擇SquareView這個進行分析,為什么是這個而不是activity或者fragment呢?因為activity和fragment中存在泄漏是由于里面的view引起的,點擊后看右側圖,再點擊后看下面的圖,藍綠色的箭頭指示位置就是具體是什么造成的內存不能夠釋放。到此就可以根據具體位置進行具體解決了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 酒泉市| 武冈市| 库伦旗| 陆河县| 新密市| 怀仁县| 谢通门县| 永修县| 贵港市| 会理县| 惠水县| 白银市| 罗甸县| 江孜县| 大竹县| 东台市| 紫阳县| 丰都县| 洞头县| 阿瓦提县| 布拖县| 巨鹿县| 咸宁市| 盐山县| 上饶市| 通海县| 昌都县| 怀来县| 南阳市| 镇雄县| 文登市| 马尔康县| 游戏| 新营市| 肇东市| 乌兰察布市| 安阳县| 海晏县| 哈巴河县| 玉环县| 大理市|