Пакет поставщика в Flutter не работает в режиме выпуска

#flutter #flutter-provider

#flutter #flutter-поставщик

Вопрос:

Пакет поставщика Flutters не работает в режиме выпуска, но отлично работает в режиме отладки, я попытался добавить <uses-permission android:name="android.permission.INTERNET"/> , но все равно слушатели не получают значения при уведомлении.

Комментарии:

1. опишите вашу проблему немного подробнее.

2. пожалуйста, добавьте ошибки, если таковые имеются

3. При сборке, а также в консоли ошибок нет, я извлекаю данные из API во время выборки, я устанавливаю loading=true в provider и добавляю его в контекст.смотрите, как только API вернул результат, я устанавливаю loading = false и уведомляю список, но это включение списка происходит не в режиме выпуска, а в режиме ожидания.работает нормально в режиме отладки

4. я сталкиваюсь с той же проблемой

5. Вероятно, это совершенно не связано с поставщиком. Вопрос в том, что вы предоставляете и как. Необходим пример кода. @THEODORE Вам, вероятно, лучше задать новый вопрос.

Ответ №1:

Хотя вы не описали это более конкретно, вы можете попробовать использовать приведенное ниже решение.

Убедитесь, что вы добавили разрешение <uses-permission android:name="android.permission.INTERNET"/> внутри androidappsrcmainAndroidManifest.xml файла. Это может решить вашу проблему.

Ответ №2:

Я столкнулся с той же проблемой, что я сделал для ее решения, чтобы запустить flutter clean на терминале перед запуском в режиме выпуска, и теперь он работает именно так, как и должен быть.

Ответ №3:

Я забыл дать отзыв. Позже я смог решить проблему. Ошибка возникает, когда какой-либо из методов получения, установки или методов внутри поставщика прерывается. если вы посмотрите внимательно, вы увидите предупреждение в режиме отладки. Но он каким-то образом продолжает работать во время отладки. Но он полностью перестанет работать в выпуске.

Мой сломался, потому что после изменения между моим streambuilder(БЛОКОМ) и notifyListeners() внутри метода setter произошла двойная перестройка. Итак, все, что я сделал, это удалил notifyListeners() в этом сеттере