我正在尝试 Flutter,但我的应用程序在模拟器和真实设备上的响应速度都非常慢。我收到这样的警告
跳过了 51 帧!该应用程序可能在其上做了太多工作
主线程。
我知道 Dart 是一种单线程编程语言,在 Android 中我曾经用旧的方法来解决这个问题new Thread();
异步块。我正在尝试在 Flutter 中应用相同的内容,并且我通读了Future
await
async
当您从互联网上读取数据时,这些例子似乎可以解决问题。我的应用程序在此阶段不会在线读取任何内容,当我的屏幕有进度对话框、打开新屏幕/页面以及应用程序上的每个动画时,我会跳过 x 帧。这是我遇到问题的班级示例:
_buildContent(){
return new Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new InkWell(
onTap: (){
Navigator.push(context, new MaterialPageRoute(builder:
(context) => new LoginScreen()));
},
child: new Container(
height: 150.0,
width: 150.0,
child: new Image.asset("images/logo.png", fit: BoxFit.cover,),
),
),
new Container(
margin: const EdgeInsets.all(16.0),
child: new CircularProgressIndicator(
value: null,
strokeWidth: 1.0,
valueColor: new AlwaysStoppedAnimation<Color>(
Colors.white
)
),
)
],
);
}
我假设跳过 x 帧警告是由进度对话框引起的?我有另一个屏幕(登录屏幕),它在打开时将小部件动画到位,动画移动得很慢,我几乎可以看到正在渲染的每一帧。是否有在线教程可以帮助解决这个问题或只是了解 Dart 的异步编程?