2011-06-17 150 views
0

我在手機中看到了一些內存泄漏。Android手機內存泄漏

步驟:

  1. 打開瀏覽器(主頁:www.google.com)。它將獲取該頁面。
  2. 選擇返回鍵從瀏覽器中出來(關閉)。
  3. 重複相同的步驟(1-2)5次。

觀察員以下由「ADB殼dumpsys數據meminfo中PID(瀏覽器):

第一時刻(當打開瀏覽器第一次 - 以後步驟1):

應用內存使用(KB): 正常運行時間:428816實時:434932

** MEMINFO in pid 899 [com.android.browser] ** 

        native dalvik other total 
      size: 24296  6727  N/A 31023 
    allocated: 24241  3955  N/A 28196 
      free:  54  2772  N/A  2826 
     (Pss):  3455  2259 30025 35739 


(shared dirty):  2064  1772  7444 11280 

    (priv dirty):  3388  548 21116 25052 

Objects 

      Views:  0  ViewRoots:  0 
    AppContexts:  0  Activities:  0 
      Assets:  3 AssetManagers:  3 
    Local Binders:  34 Proxy Binders:  28 
Death Recipients:  1 
OpenSSL Sockets:  0 

第二時間(步驟之後 - 4)打開 - 關閉瀏覽器的5倍:

應用程序的內存使用量(KB): 正常運行時間:473642實時:479758

** MEMINFO in pid 899 [com.android.browser] ** 

        native dalvik other total 
      size: 45616  7559  N/A 53175 
    allocated: 45322  4850  N/A 50172 
      free:  29  2709  N/A  2738 
     (Pss):  4602  2301 51988 58891 

(shared dirty):  2060  1736  7440 11236 

    (priv dirty):  4536  584 42360 47480 

Objects 

      Views:  0  ViewRoots:  0 
     AppContexts:  0  Activities:  0 
      Assets:  3 AssetManagers:  3 
    Local Binders:  113 Proxy Binders:  47 
Death Recipients:  1 
    OpenSSL Sockets:  0 

能否請您幫助我們找出這裏的數據顯示該信息(如什麼是大小,分配,免費,本地粘合劑等)以及上面的數據中顯示存在內存泄漏的地方。

新所有這些分析,從而提出一些基本問題:-(

請幫我的。

感謝 RKE

回答

0

你知道,我真的不明白內存泄漏這裏。最常見的獲取內存泄漏的方法是引用Activity,它必須被銷燬。無論如何,有一種搜索泄漏的方式,Android開發人員博客中有一篇關於使用MAT和Eclipse的內存分析的好文章。也是來自Google IO-2011的視頻,試試吧,也許你會發現有什麼問題。

+0

但是,如果我們看到上面的值像大小,分配等增加在第二個表中,雖然我們只是打開瀏覽器應該處於暫停狀態(當我們關閉瀏覽器),並應該重新打開時,我們再次打開它。它不應該分配另一組內存,或者如果它是,它應該取消分配(或關閉應用程序時刪除它)。 你能否看看上面的數據是否顯示任何內存泄漏。 – RkeTest 2011-06-18 02:27:20