2013-01-07 108 views
0

我有一個應用程序,就像脈衝及其在測試階段 https://play.google.com/store/apps/details?id=com.braindigit.nepal.khabarAndroid如何跟蹤內存泄漏?

我有持有LinearLayout名爲NewsCategoryHolder並在此佈局我動態地添加和刪除另一個佈局名稱CategoryView。這CategoryView包含HorizontalListView和主要佈局其他views。 進一步導航我已實施ActionbarSherlock Tab和每個點擊標籤NewsCategoryHolder將刪除其所有意見,然後添加CategoryView。 每個CategoryView都有自己的AsyncTask來從服務器或從數據庫加載數據。 並在每個添加和刪除CategoryView我已經刪除了它的所有視圖,分配它的適配器爲空,甚至Context它保持爲空。但是當我從Tab導航到Tab時,應用程序的內存會增加。我覺得這是我的應用程序出現一些內存泄漏的情況。 我已經把關於MAT和其他分析儀的所有教程,鏈接和視頻都刪除了,但是我不能指出應用程序消耗內存的確切部分或者GC無法收集對象參考的點。

我只想找到內存消耗很高的位置,但無法做到這一點。我已附加* .hprof http://news.braindigit.com/saved/android3201806337409456011.hprof文件,只是希望對其分析有所幫助,而我的應用程序包名稱爲com.braindigit.nepal.khabar

+0

描述消除不同階層,意見等我發現後,技術是我的問題是類似的待解[鏈接](http://stackoverflow.com/questions/ 12681709/android-memory-leak-inputmethodmanager-bitmap),我不知道這是什麼原因 – laaptu

回答

0

我發現內存消耗高的主要原因。而不是從MAT,從佈局和各種語句中刪除各種視圖後,我發現我使用的文件夾是主要的罪魁禍首asset

headingText.setTypeface(Typeface.createFromAsset(context.getAssets(), DataHolder.FONT_PATH)); 

因此,通過這樣做也許Context被引用或TypeFace被引用,是從來沒有​​。但除去這行代碼固定在我的應用程序所有的內存泄漏問題。

而且這個問題可以用在這裏 Typeface memory leak