flutter - 将异步代码传递到 Flutter 中的下一个屏幕?
问题描述
我有一个用 Flutter 制作的游戏,我想预加载 66 个声音字节,这大约需要 16 秒。
_initCardNameSounds()async{
print(DateTime.now()); //2021-05-16 12:23:38.050985
for(var x = 0; x < 66; x++){
cardNameSounds.add(
await pool.load(
await rootBundle.load(
'lib/assets/cardNameAudio/'+(deck[x].split('.png')[0])+'.mp3'
)
)
);
}
print(DateTime.now()); //2021-05-16 12:23:50.987699
}
我可以在加载声音的同时在游戏之前添加一个加载屏幕〜但我宁愿在应用程序启动时开始加载声音,当用户从菜单进入游戏时,声音应该已经加载。
我的问题是〜如何在加载时在多个屏幕之间传递这个异步/加载功能?
(主菜单 -> 游戏模式选择 -> 玩家人数选择 -> 游戏)
^在启动应用程序时在主菜单期间开始加载 -> 应该在游戏启动时加载。
解决方案
推荐阅读
- reactjs - 强制使用两个道具之一调用反应组件
- data-structures - 使用递归树,求解递归 T(n) = T(n − 1) + O(n)
- java - 已签名的 APK 无法使用 multiDexKeepProguard 打开
- r - case_when 可以报告它选择的变量的名称及其值吗?
- c# - RDLC 报告在部署到 IIS 服务器后不显示。它在我正在开发应用程序的同一系统上工作
- amazon-web-services - 为什么将 getSignedUrl 的结果存储在数据库中是个坏主意?
- c# - 带有参数 c# 的并行任务运行
- javascript - 通过在 Vuejs 中选择语言来改变方向
- javascript - 在odoo中隐藏和显示textarea
- mongodb - 如何根据特定条件在 mongodb 聚合中进行 $sum 或 $subtract