chore: Implement svg pre-caching

This commit is contained in:
PartyDonut 2025-10-16 23:03:09 +02:00
parent 91c548c412
commit 2ce13cbd09
2 changed files with 25 additions and 0 deletions

View file

@ -36,6 +36,7 @@ import 'package:fladder/util/application_info.dart';
import 'package:fladder/util/fladder_config.dart';
import 'package:fladder/util/localization_helper.dart';
import 'package:fladder/util/string_extensions.dart';
import 'package:fladder/util/svg_utils.dart';
import 'package:fladder/util/themes_data.dart';
import 'package:fladder/widgets/media_query_scaler.dart';
@ -57,6 +58,8 @@ void main(List<String> args) async {
WidgetsFlutterBinding.ensureInitialized();
final crashProvider = CrashLogNotifier();
await SvgUtils.preCacheSVGs();
if (defaultTargetPlatform == TargetPlatform.windows) {
await SMTCWindows.initialize();
}

22
lib/util/svg_utils.dart Normal file
View file

@ -0,0 +1,22 @@
import 'package:flutter_svg/flutter_svg.dart';
class SvgUtils {
static List<String> allSvgs = [
'icons/fladder_icon.svg',
'icons/fladder_icon_outline.svg',
];
static Future<void> preCacheSVGs() async {
try {
for (final path in allSvgs) {
final loadSvg = SvgAssetLoader(path);
await svg.cache.putIfAbsent(
loadSvg.cacheKey(null),
() => loadSvg.loadBytes(null),
);
}
} catch (e) {
print(e);
}
}
}