簡體   English   中英

我的應用程序在我的設備上占用250mb內存。 當我進行堆轉儲並進行分析時。 它說堆大小約為7mb

[英]My App is taking 250mb memory on my device. When I do a heap dump and analyze it. it says the heap size around 7mb

是否有另一個正在使用的內存未在堆轉儲中顯示? 我在Eclipse上使用Memory Analyzer。 首先,我使用DDMS和Memory Analyzer選擇轉儲堆。 它只顯示堆的大小是7mb,直方圖基本上告訴我一切都很好。 但是,我已經在我的設備上下載了幾個內存監控應用程序,他們都說我的應用程序占用250mb並且它一直在攀爬。

我怎么能試着找出為什么它會占用這么多記憶呢?

在此輸入圖像描述

在此輸入圖像描述

內存測量應用程序並不值得,因為引用Dianne Hackborn

請注意,像Linux這樣的現代操作系統上的內存使用是一個非常復雜且難以理解的領域。 事實上,你實際正確地解釋你得到的任何數字的可能性非常低。

話雖如此,歡迎您使用她的答案中概述的技術,試圖更好地處理這些工具聲稱的內容以及它是否真的是一個問題。

也:

  • 如果您有多個進程,請記住DDMS的堆轉儲是針對單個進程的

  • 如果使用NDK進行本機開發,則NDK分配不是托管堆的一部分,因此不包含在堆轉儲中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM