在昂贵/耗时的任务之前打开flutter进度小部件

问题描述 投票:0回答:1

因此,我正在努力解决以下看似简单的概念 - 我想打开一个进度指示器,然后开始一项长期任务,然后在任务完成后将其关闭。 这是我的流程:

  1. 按下按钮,在onTap函数中显示进度条(使用showDialog)
  2. 开始漫长的任务(PDF生成和邮寄)
  3. 任务完成后,隐藏第一步中的微调器

它没有按预期工作,只有在 PDF 生成和邮件即将完成时才会出现微调器,它会停留几秒钟然后消失。这几乎就像 UI 线程被阻塞一样。 PDF生成任务返回future,onTap是异步的。我不确定我在这里做错了什么。在开始长期任务之前如何显示微调器?

android flutter user-interface mobile
1个回答
1
投票

将其放在这里供有类似问题的任何人使用。 正如 psking 在评论中建议的那样,Flutter 并发是解决方案。 我使用 Isolate.run() 来隔离 PDF 生成,然后一切都像魅力一样工作。

© www.soinside.com 2019 - 2024. All rights reserved.