繁体   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