logcat中的“真实对象已被删除”

Posted

技术标签:

【中文标题】logcat中的“真实对象已被删除”【英文标题】:"The real object has been deleted" in logcat 【发布时间】:2012-05-20 18:20:19 【问题描述】:

之前有人问过这个问题Here,但没有得到回答,也没有在网上找到任何解释这个问题的文章。

我的应用程序运行良好,但在某些时候我看到 startActivityForResult webcoreglue: The real object has been deleted 的 3 条日志。

现在据称我的应用程序到目前为止一切正常,但我不知道记录此消息的内容和原因。

在我尝试找出我的应用程序出了什么问题之前,有人可以解释一下为什么以及何时发生这种情况以及这意味着什么?

编辑: 在请求更多上下文时,我认为我没有使用任何特殊的库,只使用了 Facebok SDK。

我现在的应用是一个“创建游戏”活动,它有 3 个选项,从 facebook 邀请玩家,通过用户名邀请玩家和添加随机玩家。

从 facebook 按钮邀请玩家打开一个 ListActivity(用于结果),返回您选择的所有玩家。邀请用户打开带有 EditText 的对话框并在服务器中搜索用户数据。 所有选定的播放器都出现在主 Activity 内的 ListView 中,因此添加随机播放器只需将一个项目添加到该列表视图。

我相信错误可能是,我在我尝试从 ListActivity 使用的主要活动中使用静态字段。

ListActivity 获取一个 Parcelable,其中包含一个包含图像、名称和 ID 的 3 个 ArrayList 的类。 该 parcable 包含来自所有 3 种方法的所有选定用户。 希望这是足够的上下文,不知道我还能说什么,因为我不知道该日志与什么相关。

编辑 2: 再次搜索后发现this question 给出了一个特定的解决方案

【问题讨论】:

我们需要更多的上下文。你的应用是做什么的?您是否使用任何库、图形或其他可以帮助我们的东西? 除了日志打印输出异常等其他问题吗?它总是发生还是偶尔发生?如果它总是发生,您能否发布一些代码来重现该问题? 它总是会发生,而且我确实有一些错误,在活动之间传递会弄乱选定的玩家顺序并再次重新添加选定的玩家。我编辑了这个问题,并解释了佩德罗的要求。这些是大文件,我不知道要发布哪些部分,如果我将它们全部打印出来,对于任何人眼来说都是太多的代码。 我的错误 - 它并不总是发生。 【参考方案1】:

有些东西超出了范围,它的析构函数被调用了。搜索“实物已被删除”。仅显示了屏幕旋转工件的特定解决方案和用于覆盖某些对象析构函数的 hack。将打印语句放入对象析构函数中以查看调用了什么以及何时调用是很有教育意义的。

【讨论】:

以上是关于logcat中的“真实对象已被删除”的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 开发中使用 logcat 的基础知识

将 system.out 重定向到 logcat [重复]

adt: logcat 没有过滤

eclipse中的Android LogCat:如何过滤LogCat消息?

当我在真机上运行我的应用程序时,android studio logcat 没有显示崩溃的原因

如何限制 Logcat 中的相同消息?