首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振图像加载慢

颤振图像加载慢
EN

Stack Overflow用户
提问于 2022-10-28 09:17:11
回答 2查看 36关注 0票数 0

我添加了一个视频来更好地可视化我的问题:https://streamable.com/wdhna2

问题是,我的图像加载缓慢,甚至我添加了一个precache方法和一个启动屏幕。在第一次启动时,问题没有那么大,可能是因为执行情况。在这里,我实现了precache方法:

代码语言:javascript
复制
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方法(只是一个片段,并不适用于所有图片):

代码语言:javascript
复制
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包中添加一个启动屏幕,但这不能解决在关闭并重新打开应用程序后图像加载缓慢的问题,而不需要清除内存。总之,这是代码:

代码语言:javascript
复制
Future<void> main() async {
  WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
  FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);

当第一个窗口打开时,启动屏幕的末尾:

代码语言:javascript
复制
class _NutriWidgetState extends State<NutriWidget> {

  @override
  void initState() {
    super.initState();
    FlutterNativeSplash.remove();
  }

你知道我怎么能更快地加载这些图像吗?我做错什么了吗?

EN

回答 2

Stack Overflow用户

发布于 2022-10-28 09:27:36

试试image.assets(“assets/widgetsImage/bmi.jpg”)

票数 0
EN

Stack Overflow用户

发布于 2022-10-28 11:49:48

认为您不能直接调用小部件构建器,您必须将其封装到脚手架中。

或者返回您的方法,而不是调用它

返回loadImage(上下文)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74233144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档