當我的Android Studio配置文件的應用程序的內存,我可以看到不同種類的內存消耗,我怎麼能看到的本地和圖形內存分配Android Studio中3.0
但是當我傾倒Java堆(中間的按鈕),我得到的堆只有分配,
這是從按鈕的名稱預期。但是我仍然可以看到已分配的字符數組和字符串,但正如我們在最近版本中所知,來自String的char數組被移動到本地堆,並且String類只能通過本機方法訪問它們,所以事實證明這個堆轉儲顯示也是本機堆。我對嗎?怎麼樣圖形堆?
當我的Android Studio配置文件的應用程序的內存,我可以看到不同種類的內存消耗,我怎麼能看到的本地和圖形內存分配Android Studio中3.0
但是當我傾倒Java堆(中間的按鈕),我得到的堆只有分配,
這是從按鈕的名稱預期。但是我仍然可以看到已分配的字符數組和字符串,但正如我們在最近版本中所知,來自String的char數組被移動到本地堆,並且String類只能通過本機方法訪問它們,所以事實證明這個堆轉儲顯示也是本機堆。我對嗎?怎麼樣圖形堆?
雖然它不是任何方式的權威來源,但我和其他人試圖解釋java內存使用here。據我所知(有人使用ART或Davlik可以給你一個更明確的答案),整個應用程序只有一個堆可用,沒有特定的圖形堆。
Android Studio可能向您展示的是圖形操作佔用了多少堆。與Stack(綠色)內存段向您展示當前調用堆棧消耗的內容類似。你可以認爲這是如何體現在你的代碼通過突出段:
當您使用此視圖,您應該還記得,從下拉列表中選擇您的應用程序堆:
原生& Java細分顯示了通過SDK/Java框架直接分配了多少內存,以及通過底層結構本地分配了多少內存。 (他們不要你你的應用程序中顯示不同的存儲區域,它看起來令人困惑 - 在看到結尾的鏈接)
的究竟是什麼探查器顯示你是在Developer Documentation最好的概述這也概括了系統映像和合子堆對你的影響。
@Zoe爲什麼你刪除了android-studio標記?其實我期望AS團隊的人給出解釋 – LackOfKnowledge
這個問題實際上是一個工具,它是Android Studio的一部分的具體情況。請儘量不要做有害或微不足道的編輯@zoe –