# #android #firebase #flutter
Вопрос:
Я создаю приложение, которое использует Firebase в качестве базы данных. Каким-то образом время запуска моего приложения на некоторых устройствах чрезвычайно медленное (20% тестовых устройств Android, большинство из этих 20% — XiaoMi и RealMi), но очень быстрое на других. Это заставляет приложение отображаться в виде белого/черного экрана в течение 15 секунд. Похоже, что WidgetsFlutterBinding.ensureInitialized();
это займет очень много времени, но я не могу удалить его, потому что он необходим для инициализации Firebase.
Вот код I для моей основной функции (с отладкой)
Future<void> main() async {
stopwatch.start();
print("stopwatch start ${stopwatch.elapsed}");
WidgetsFlutterBinding.ensureInitialized();
print("WidgetsFlutterBinding ${stopwatch.elapsed}");
await Firebase.initializeApp();
print("Firebase.initializeApp ${stopwatch.elapsed}");
AppSharedPreference.init();
print("AppSharedPreference.init(); ${stopwatch.elapsed}");
EquatableConfig.stringify = !kDebugMode;
Bloc.observer = SimpleBlocObserver();
print("Bloc.observer = SimpleBlocObserver() ${stopwatch.elapsed}");
if (defaultTargetPlatform == TargetPlatform.android) {
InAppPurchaseAndroidPlatformAddition.enablePendingPurchases();
print("InAppPurchaseAndroidPlatformAddition ${stopwatch.elapsed}");
}
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]).then((_) {
print("done getting preferred orientation ${stopwatch.elapsed}");
runApp(globalBlocProviderForInitialize(globalBlocProviderForApp(App())));
});
}
И вот напечатанное время.
У кого-нибудь есть какие-нибудь идеи по этому поводу?