Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android应用程序中找出哪个对象正在消耗内存_Android - Fatal编程技术网

在Android应用程序中找出哪个对象正在消耗内存

在Android应用程序中找出哪个对象正在消耗内存,android,Android,在我编写的Android应用程序中,内存使用率似乎很高。你持续使用的时间越长,应用程序的速度就越慢。因此,我试图通过在Eclipse中使用DDMS来找出原因。这是我在DDMS中单击“原因GC”时在“堆”选项卡中看到的内容: 对不起,我是新来的;我承认。不能从中得到任何东西。一个对象“1字节数组”使用的空间超过6MB(!!)。如何获取其堆栈跟踪?如何找到创建此对象的位置 简要说明何时完成此GC(我在DDMS中单击了“原因GC”按钮):该应用程序有一个后台线程,每隔几秒钟与远程服务器联系一次。这个

在我编写的Android应用程序中,内存使用率似乎很高。你持续使用的时间越长,应用程序的速度就越慢。因此,我试图通过在Eclipse中使用DDMS来找出原因。这是我在DDMS中单击“原因GC”时在“堆”选项卡中看到的内容:

对不起,我是新来的;我承认。不能从中得到任何东西。一个对象“1字节数组”使用的空间超过6MB(!!)。如何获取其堆栈跟踪?如何找到创建此对象的位置


简要说明何时完成此GC(我在DDMS中单击了“原因GC”按钮):该应用程序有一个后台线程,每隔几秒钟与远程服务器联系一次。这个堆是在应用程序启动后(用户还没有交互)的一段时间内完成的


有人能帮忙吗?

这不是编程问题,而是工程问题

您应该能够看到活动中的内存使用情况。这意味着您知道哪个活动消耗内存


在该活动中,尝试注释掉可疑代码,并查看差异。很可能是图像或视频消耗了内存。所以我建议您注意解码位图或将视频URL设置为VideoView。

它可能是位图。你为什么这么担心?@Blackbelt,你怎么说这是位图?你怎么“跟踪”内存使用情况?我怎么说这个6MB的对象(我在截图中看到)是在哪里创建的?内存消耗是什么时候发生的?比如说,一旦某项活动产生了?或者在onClick之后?该应用程序有一个后台线程,每隔几秒钟与远程服务器联系一次。此堆是在应用程序启动后(用户尚未进行交互)的一段时间内获取的。要确认该线程中出现的问题,请尝试在应用程序启动时不运行该堆,并查看内存是否仍在消耗。如果是这样,问题就出在这个线程上