我添加了一个视频来更好地可视化我的问题:https://streamable.com/wdhna2
问题是,我的图像加载缓慢,甚至我添加了一个precache方法和一个启动屏幕。在第一次启动时,问题没有那么大,可能是因为执行情况。在这里,我实现了precache方法:
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
loadImage(context); <--- Method call
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]);下面是我的precache方法(只是一个片段,并不适用于所有图片):
import 'package:flutter/material.dart';
void loadImage(context){
precacheImage(const AssetImage("assets/widgetsImages/bmi.jpg"), context);
precacheImage(const AssetImage("assets/widgetsImages/calc.webp"), context);
precacheImage(const AssetImage("assets/widgetsImages/chat.webp"), context);
}我还试图在flutter_native_splash包中添加一个启动屏幕,但这不能解决在关闭并重新打开应用程序后图像加载缓慢的问题,而不需要清除内存。总之,这是代码:
Future<void> main() async {
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);当第一个窗口打开时,启动屏幕的末尾:
class _NutriWidgetState extends State<NutriWidget> {
@override
void initState() {
super.initState();
FlutterNativeSplash.remove();
}你知道我怎么能更快地加载这些图像吗?我做错什么了吗?
发布于 2022-10-28 09:27:36
试试image.assets(“assets/widgetsImage/bmi.jpg”)
发布于 2022-10-28 11:49:48
认为您不能直接调用小部件构建器,您必须将其封装到脚手架中。
或者返回您的方法,而不是调用它
返回loadImage(上下文)
https://stackoverflow.com/questions/74233144
复制相似问题