Приложение Flutter зависло на экране запуска на некоторых устройствах Android (предположительно Impeller/Firebase/AppLinAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Приложение Flutter зависло на экране запуска на некоторых устройствах Android (предположительно Impeller/Firebase/AppLin

Сообщение Anonymous »

У меня возникла проблема: мое приложение Flutter работает нормально на большинстве устройств, но на некоторых устройствах Android и в эмуляторах оно зависает на экране значка/логотипа при первом запуске.

Подробности из моих журналов:

Код: Выделить всё

[IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(104)] Using the Impeller rendering backend (OpenGLES)
D/com.llfbandit.app_links: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] ... }
D/FLTFireContextHolder: received application context.
I/Choreographer: Skipped XXX frames! The application may be doing too much work on its main thread.

Наблюдения:

  • Контроллеры GetX инициализируются только после отображения значка/логотипа.
  • Инициализируются Firebase Crashlytics и Firebase Core.
  • Проблема возникает в основном на эмуляторах с архитектурой x86_64 или более старых устройствах.

    На других устройствах приложение запускается нормально.
  • Отключение крыльчатки, кажется, решает проблему на некоторых эмуляторах.
Мой файл main.dart выглядит так:

Код: Выделить всё

void main() async {
WidgetsFlutterBinding.ensureInitialized();

await Firebase.initializeApp();

FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;

runApp(const MyApp());
}
Использованные плагины, которые запускаются при запуске:
  • Firebase Core / Crashlytics / Messaging
  • AppLinks
  • GetX

Что я пробовал:

  • Задержка тяжелых вызовов API в контроллере заставки.
  • Запуск на физическом устройстве (работает нормально).
  • Отключение Impeller (flutter run --enable-impeller=false) устраняет зависание эмуляторов.
  • Убедитесь, что Firebase инициализируется перед запуском приложения.

Вопрос:

  • Почему мое приложение Flutter зависает на экране значка/логотипа только на некоторых устройствах?
  • Может ли это быть Impeller, Firebase или AppLinks?
  • Как лучше всего избегать этой проблемы для всех устройств и эмуляторов?


Подробнее здесь: https://stackoverflow.com/questions/797 ... er-firebas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»