NativeScript маркировкаMode: нет ошибок - PullRequest
1 голос
/ 06 января 2020

Я являюсь частью команды, которая использует NativeScript и angular, и мы продолжаем получать ошибки, которые выглядят следующим образом:

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

В результате некоторых исследований мы используем markMode: нет, чтобы ускорить наше приложение. Мы хотим продолжать использовать это, поэтому нам нужно найти источник ошибок. Из документации это происходит от создания собственного объекта, затем оборачивая его в метод JS, так что сборщик мусора удаляет собственный объект в методе, но так как на него все еще ссылаются, выдается ошибка. В документации также указывается, что это, скорее всего, связано с использованием плагинов, которые не адаптированы к маркировке. Режим: нет. Плагин, который, по моему мнению, является причиной этого, является плагином nstudio nativescript-checkbox Поэтому я просмотрел исходный код, чтобы попытаться найти нативные параметры, которые соответствуют критериям, и мои проблемы заключаются в следующем:

  1. Я не уверен, что я нахожу все нативные объекты.
  2. Я не знаю, где выпустить их в коде.
  3. Я не уверен, является ли этот плагин единственным, который вызывает проблемы (мы используем много плагинов и все они являются неотъемлемой частью нашего кода).
  4. Я изучил нашу кодовую базу и не смог найти ни одного случая, где это может быть проблемой, но я могу ошибаться.

Если кто-нибудь испытал этот маркировочный режим: нет проблем, особенно с плагинами, я хотел бы услышать, как вы справились с этим, и если у вас есть какие-либо советы / предложения в будущем. Вот документация, детализирующая эту проблему: https://docs.nativescript.org/core-concepts/android-runtime/advanced-topics/marking-mode-none

Разработчики NativeScript сказали, что это исправлено в этом исправлении с обновлением, но я не заметил изменений: https://github.com/NativeScript/NativeScript/issues/7125

ОБНОВЛЕНИЕ: Я закомментировал плагин флажка и никаких ошибок, это определенно вызвано плагином

1 Ответ

0 голосов
/ 10 марта 2020

Удалены все экземпляры компонента-флажка и боковой панели навигации и сделаны наши собственные пользовательские компоненты для них.

...