Не делайте флаттер спла sh. Пусть родной iOS / Android spla sh заполнит экран, в то время как код main
приложения Flutter решит показать домашнюю страницу или страницу входа в систему. Это должен быть очень быстрый процесс, если все, что вы делаете, ищет в SharedPreferences
токен сеанса.
Я только что ответил сегодня на два других вопроса, которые касаются этой же проблемы. Думаю, они должны помочь ...
{ ссылка }
{ ссылка }
ОБНОВЛЕНИЕ
Я создал тестовое приложение Flutter.
Я установил красный экран Android spla sh.
Я изменил содержимое main.dart
на последующий.
import 'package:flutter/material.dart';
void main() async {
await Future.delayed(Duration(seconds: 5));
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(final BuildContext context) {
return MaterialApp(
title: 'Splash Demo',
theme: ThemeData(primarySwatch: Colors.blue),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatelessWidget {
@override
Widget build(final BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text("My Home Page")),
body: Center(child: const Text("My Home Page")),
);
}
}
Я запустил приложение на устройстве Android с flutter run --release
.
Я вижу красный экран примерно 0,5 секунды, затем вижу черный экран в течение 5 секунд, и наконец, увидеть домашний экран.
Хм. Я ожидал, что красный экран будет отображаться в течение 5,5 секунд, а затем начальный экран. Я не ожидал, что черный экран покажет.