2013-03-17 50 views
4

使用DDMS并创建HPROF我可以在我的应用程序中看到数据的“直方图”视图,并注意到大量非常大的“byte []”对象。我怀疑这是我的代码中的错误或其他愚蠢的结果。但我不知道如何查看这些字节对象的名称,或者查看我的源代码中创建位置的位置。这可以做到吗?如何找到创建字节数组的源

回答

3

看看这里:DDMS Object Allocation Tracking 它一步一步指定如何跟踪对象分配并找到负责它的代码行。

跟踪对象

DDMS提供了一个功能来跟踪被分配给存储器的对象和以查看哪个类和线程分配的对象的内存分配。这使您可以实时跟踪在应用程序中执行某些操作时分配的对象。此信息对评估可能影响应用程序性能的内存使用情况非常有用。

为跟踪对象的内存分配:

  • 在设备选项卡中,选择要启用分配跟踪的过程。
  • 在Allocation Tracker选项卡中,单击Start Tracking按钮开始分配跟踪。此时,您在应用程序中执行的任何操作都将被跟踪。

  • 单击获取分配以查看自您单击开始跟踪按钮后分配的对象列表。您可以再次单击Get Allocations以追加到列表中已分配的新对象。

  • 要停止跟踪或清除数据并重新开始,请单击停止跟踪按钮。
  • 单击列表中的特定行可查看更多详细信息,例如分配对象的代码的方法和行号。
+7

在回答通过提供外部源的问题,一定要始终在你的答案是外部源的重要组成部分,作为链接可能随着时间的推移死去。 – 2013-03-17 11:21:18