reduce app startup time by loading Hive boxes in parallel

This commit is contained in:
Fynn Petersen-Frey
2022-10-31 15:38:24 +01:00
parent 3cf85bb837
commit 4a6c337960
2 changed files with 18 additions and 15 deletions

View File

@@ -28,17 +28,19 @@ import 'constants/hive_box.dart';
void main() async {
await Hive.initFlutter();
Hive.registerAdapter(HiveSavedLoginInfoAdapter());
Hive.registerAdapter(HiveBackupAlbumsAdapter());
Hive.registerAdapter(HiveDuplicatedAssetsAdapter());
await Hive.openBox(userInfoBox);
await Hive.openBox<HiveSavedLoginInfo>(hiveLoginInfoBox);
await Hive.openBox<HiveBackupAlbums>(hiveBackupInfoBox);
await Hive.openBox(hiveGithubReleaseInfoBox);
await Hive.openBox(userSettingInfoBox);
await Hive.openBox<HiveDuplicatedAssets>(duplicatedAssetsBox);
await Future.wait([
Hive.openBox(userInfoBox),
Hive.openBox<HiveSavedLoginInfo>(hiveLoginInfoBox),
Hive.openBox<HiveBackupAlbums>(hiveBackupInfoBox),
Hive.openBox(hiveGithubReleaseInfoBox),
Hive.openBox(userSettingInfoBox),
Hive.openBox<HiveDuplicatedAssets>(duplicatedAssetsBox),
EasyLocalization.ensureInitialized(),
]);
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(
@@ -46,8 +48,6 @@ void main() async {
),
);
await EasyLocalization.ensureInitialized();
if (kReleaseMode && Platform.isAndroid) {
try {
await FlutterDisplayMode.setHighRefreshRate();