首页 > 解决方案 > 如何向用户提供完成任务所需的进度或估计时间

问题描述

在我的应用程序中,我使用一个库来生成一个 .pdf 扩展文档。这是一个 Xamarin.Forms 应用程序,因此它可以从任何运行 iOS 或 Android 操作系统的设备运行。现在,我遇到的问题是向用户报告导出过程的进度。有时这可能需要 50 秒,有时需要 4 分钟。这完全取决于文档中的数据量和设备本身。

现在,如果它是一个正在运行以生成 pdf 的 for 循环,那就太好了,我可以在其中简单地迭代并显示进度。但是,我现在拥有的是“Draw”库提供的一种方法,它完成了所有“繁重的工作”,不知道是否有一种方法可以显示进度或至少估计需要多长时间完成。

所以总而言之,问题是,是否有某种图书馆,或者任何人都听说过的方法来预测完成任务的估计时间。即使该方法不提供“完成步骤”,也可能是一种仍然显示某种进展的方法。任何建议都是一个很好的建议,都值得赞赏。

标签: c#.netperformancexamarinxamarin.forms

解决方案


您可以根据文档中的数据量进行估算,并根据您的估算显示进度条。进度条可能是悲观的,因此在估计完成时它将处于大约 80% 左右。在最坏的情况下,用户会看到进度条达到 100%,然后什么都没有发生,导致他们相信进程已经死亡。您可以在 100% 上显示带有文本“Finalizing...”或类似内容的标签,以减轻用户的担忧。

另一种方法是 100% 换行并从零重新启动进度条。这样一来,用户可能会感到被背叛,但至少会更有信心继续取得进展。


推荐阅读