Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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
使用MAT跟踪android内存使用情况_Android_Android Image_Android Memory - Fatal编程技术网

使用MAT跟踪android内存使用情况

使用MAT跟踪android内存使用情况,android,android-image,android-memory,Android,Android Image,Android Memory,我正试图找出我的应用程序的一些内存使用来自于使用MAT 有些对位图的引用似乎保留了很多堆。有没有办法确定它们是什么实际资源?这些图像通常来自应用程序中的Drawable。有对象引用,但我不知道如何向下钻取以确定哪个实际的可绘制对象可能占用内存 例如,有一个保留堆超过1mb的位图和超过300k的位图定义了您真正的问题位图s非常正常:介于200x200px和500x500px之间 如果您有OutOfMemoryErrors,当第一次接近应用程序时,我喜欢使用直方图(第二个图标,带有3个蓝色条)并在

我正试图找出我的应用程序的一些内存使用来自于使用MAT

有些对位图的引用似乎保留了很多堆。有没有办法确定它们是什么实际资源?这些图像通常来自应用程序中的Drawable。有对象引用,但我不知道如何向下钻取以确定哪个实际的可绘制对象可能占用内存


例如,有一个保留堆超过1mb的位图和超过300k的位图定义了您真正的问题<这些大小的代码>位图s非常正常:介于200x200px和500x500px之间


如果您有
OutOfMemoryError
s,当第一次接近应用程序时,我喜欢使用直方图(第二个图标,带有3个蓝色条)并在
您的.package.*活动中进行过滤。如果实例太多,这可能意味着内存泄漏。

如果跟踪GC根,可以看到位图上保存的内容,这可能有助于确定位图的来源。@Commonware是“GC根的路径”,然后是“所有引用都是最好看的”?应该有这样的内容“除弱/软外的所有引用”或类似的内容会更好,但基本上你的想法是正确的。谢谢,我会检查一下,问题是我的应用程序似乎消耗了大量内存(通常为25-40mb),但我收到用户的报告,它的容量高达100mb+。应用程序中没有真正大的图像。我认为最大的图像约为20k,所以我猜我没有正确清除某些内容并阻止某些对象上发生GC。我知道一些用户有OOM,但我自己没有看到