在数据库之前更新UI以提高应用程序性能



我正在开发我的第一个应用程序,我认为它正处于一个开发良好的阶段。在应用程序中,用户可以上传项目,我将其存储在Cloud-FirestoreUserDefaults中。

当前addItem-工作流程:

  1. 用户按下add-Button

  2. 我将项目上传到Cloud-Firestore

  3. 等待上传完成

  4. 更新UI并设置CCD_ 6。

我选择这种方法是因为在我看来它非常安全。如果步骤2失败,我不会遇到任何麻烦。然而,这严重影响了应用程序的性能/用户体验。有时,如果itemToUpload更大,用户必须等待几秒钟,直到该项目真正添加到UI中。(我已经在使用activityIndicator,所以用户知道有东西正在加载,但没有人喜欢等待…(

所以我的问题是:用步骤4更改第2步是否安全?Todoist、Wunderlist等应用程序是如何处理这一问题的?我不用等了。

我认为这个问题不需要代码,但如果有什么不清楚的地方,请告诉我。

长时间阻止用户交互并显示加载程序肯定对应用程序不利。

将步骤4分解为两个子步骤:4a(更新UI 4b(设置UserDefaults。你的流量应该是-

•用户点击add-Button后立即更新UI

•在后台线程中将项目上传到云存储,并收听完成事件

•如果上传成功,请更新UserDefaults

•如果上传失败,请通知用户(toast/通知横幅/警报(,并可能将用户带回启动上传事务的屏幕。

附言:你也可以建立一个重试机制,以防上传因网络错误而失败。

最新更新