gpt4 book ai didi

Android:跟踪创建的对象数

转载 作者:可可西里 更新时间:2023-11-01 19:06:21 25 4
gpt4 key购买 nike

我正在将一款游戏移植到 Android(有很多代码,但只有很少一部分是我的),DalvikVM 告诉我(通过 LogCat)所有关于垃圾收集的信息。在代码中的某个时刻,我收到一串“GC 释放了 x 个对象/x 毫秒”的消息,基本上是在通知我大约 150,000 个对象刚刚被删除,并且需要整整一秒钟。

我想知道这些是从哪里来的!我很确定我不是有意创建那么多对象。

那么,有没有办法获得...基本上与该消息相反?在创建任何对象时打印日志消息的东西?

这样我就可以跨过代码,检查生成了多少消息,并查看代码的哪些部分正在生成对象。我怀疑在循环的一部分中创建了某种形式的对象,但如果可能的话,这将是一种确定的简单方法。

如果相关的话,我正在使用 Eclipse 3.4.2

有什么想法吗?

最佳答案

这可以使用 Android(不是 Eclipse 版本)附带的 ddms 工具。使用它,查看分配跟踪器选项卡。您可以开始跟踪所有对象的分配以及它们分配位置的堆栈跟踪。但是,此工具可以生成大量信息,而您想要的特定信息并不总是易于解析或查找。如果你有 Sun JVM 的版本,我会推荐使用 Kai 提到的工具,它们已经开发了很多。如果您必须在 Android 中执行此操作,使用分配跟踪器将为您提供一个开始。

关于Android:跟踪创建的对象数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com