首页 > 解决方案 > NativeScript 标记模式:无错误

问题描述

我是使用 NativeScript 和 Angular 的团队的一员,我们不断收到如下错误:

Error: com.tns.NativeScriptException: Attempt to use cleared object reference id=<some-object-id-number>

从一些研究来看,这是因为我们使用了 markingMode: none 来加快我们的应用程序。我们想继续使用它,所以我们需要找到错误的来源。从文档中,它来自创建一个本地对象,然后将其包装在一个 JS 方法中,因此垃圾收集器会删除该方法中的本地对象,但由于它仍然被引用,因此会引发错误。文档还指出,这很可能是由于使用了不适应 markMode: none 的插件。我认为导致此问题的插件是 nstudio nativescript-checkbox 插件。因此,我查看了源代码以尝试找到符合条件的本机选项,我的问题如下:

  1. 我不确定我是否找到了所有原生对象。
  2. 我不知道在代码中的哪里发布它们。
  3. 我不确定这个插件是否是唯一导致问题的插件(我们使用了很多插件,所有这些插件都非常适合我们的代码)。
  4. 我搜索了我们的代码库,找不到任何可能存在问题的实例,但我可能是错的。

如果有人遇到过这个 markingMode: none 问题,特别是插件,我很想听听您是如何处理它的,以及您是否有任何提示/建议。这是详细说明此问题的文档: https ://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/marking-mode-none

NativeScript 开发人员说它已在此错误修复中通过更新修复,但我没有注意到更改: https ://github.com/NativeScript/NativeScript/issues/7125

更新:我注释掉了复选框插件并且没有错误,这肯定是由插件引起的

标签: nativescriptnativescript-angularnativescript-plugin

解决方案


删除了复选框组件和侧导航栏的所有实例,并为它们制作了我们自己的自定义组件。


推荐阅读