gpt4 book ai didi

flutter - 在Flutter中异步加载图片

转载 作者:行者123 更新时间:2023-12-03 03:00:33 25 4
gpt4 key购买 nike

如何异步加载图片和图形,以减轻程序的主线程的负担,从而使所有操作更快,更流畅?

这是我的加载图形的小部件:

  Container _graphicSection() {
final String graphic = 'assets/graphic/two_people.svg';
return Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
SvgPicture.asset(
graphic,
height: 150,
alignment: Alignment.center,
)
],
));
}

和我的用户界面:
  @override
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light
.copyWith(statusBarColor: Colors.transparent));

return Scaffold(
body: Builder(builder: (BuildContext context) {
return SingleChildScrollView(
child: Form(
key: _formKey,
child: Column(children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 20.0),
child: _headerSection(),
)
],
),
Padding(
padding: EdgeInsets.all(40.0),
child: Column(
children: <Widget>[
_graphicSection(),
SizedBox(height: 120.0),
_buildEmail(),
SizedBox(height: 30.0),
_buildPassword(),
SizedBox(height: 40.0),
_helpText(),
],
))
])));
}),
);
}


感谢您的任何解决方案:)

最佳答案

Dart是一个单线程框架,所有计算都在其主线程上完成。这意味着Dart一次又一次执行一个操作。

异​​步操作在Dart中,我们使用async / await之类的关键字来告诉dart我们将要执行异步操作。但是,这不会将这项工作移到新线程上,它会停止主线程上的工作,直到async工作完成,然后继续执行其余的工作或进行计算。

隔离和计算函数可以说,创建一个新的隔离是可能的,这是另一个与主隔离并行运行的线程。鉴于您当然不在单一核心系统上。但是,隔离不会共享它们通过传递消息进行通信的内存。

这里有一些文章可以更好地解释该主题。 Dart asynchronous programming: Isolates and event loops Flutter Threading Flutter async : Beginner friendly guide for heavy lifting operations

关于flutter - 在Flutter中异步加载图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61297414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com