nativescript - 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 插件。因此,我查看了源代码以尝试找到符合条件的本机选项,我的问题如下:
- 我不确定我是否找到了所有原生对象。
- 我不知道在代码中的哪里发布它们。
- 我不确定这个插件是否是唯一导致问题的插件(我们使用了很多插件,所有这些插件都非常适合我们的代码)。
- 我搜索了我们的代码库,找不到任何可能存在问题的实例,但我可能是错的。
如果有人遇到过这个 markingMode: none 问题,特别是插件,我很想听听您是如何处理它的,以及您是否有任何提示/建议。这是详细说明此问题的文档: https ://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/marking-mode-none
NativeScript 开发人员说它已在此错误修复中通过更新修复,但我没有注意到更改: https ://github.com/NativeScript/NativeScript/issues/7125
更新:我注释掉了复选框插件并且没有错误,这肯定是由插件引起的
解决方案
删除了复选框组件和侧导航栏的所有实例,并为它们制作了我们自己的自定义组件。
推荐阅读
- vue.js - Vuex 使用键访问状态中的对象
- redis - redis - 从 RDB 加载并继续写入 AOF
- linux - 运行文件夹和子文件夹中的所有 .bach
- git - 如何在 IntelliJ 上推送到新的 Github 帐户回购?
- javascript - 如何在chrome开发者工具中调用匿名函数?
- reactjs - Why I get typescript error: Argument of type 'string | FilterData[] | number[] | Moment[]' is not assignable to parameter of type 'string'?
- materialize - 如何解决显示数据大小不合适的图像:image/gif;base64
- firebase - Flutter:如何将元素添加到 Firebase 数据库中的映射字段?
- html - 有没有办法在 HTML 中多次使用相同的代码(代码可重用性)?
- python - Python:如何在浮点数中拆分字典值