#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() в этом сеттере