使用DDMS并创建HPROF我可以在我的应用程序中看到数据的“直方图”视图,并注意到过多的非常大的“byte []”对象。我怀疑这是我的代码中的错误或其他愚蠢的结果。但我不知道如何查看这些字节对象的名称或查看源代码中创建它们的位置。可以这样做吗?
答案 0 :(得分:3)
看看这里:DDMS Object Allocation Tracking 它逐步指定如何跟踪对象分配并找到负责它的代码行。
跟踪对象的内存分配
DDMS提供了一种功能,用于跟踪分配给内存的对象,以及查看哪些类和线程正在分配对象。这使您可以在应用程序中执行某些操作时实时跟踪对象的分配位置。此信息对于评估可能影响应用程序性能的内存使用情况非常有用。
跟踪对象的内存分配:
- 在“设备”标签中,选择要为其启用分配跟踪的进程。
在“分配跟踪器”选项卡中,单击“开始跟踪”按钮以开始分配跟踪。此时,将跟踪您在应用程序中执行的任何操作。
单击“获取分配”以查看自您单击“开始跟踪”按钮后分配的对象列表。您可以再次单击“获取分配”以将已分配的新对象附加到列表中。
- 要停止跟踪或清除数据并重新开始,请单击“停止跟踪”按钮。
- 单击列表中的特定行以查看更详细的信息,例如分配对象的代码的方法和行号。