0

我正在开发一个基于社交的应用程序。它主要处理为特定活动创建时间表并邀请其他用户在特定日期和时间加入。但是,该应用程序使用 Parse 作为其后端。几乎每一个动作都需要一些网络,并且在低质量的连接上感觉很慢。

如何使应用程序看起来更具响应性?

  1. 当检索到数据时,比如当前朋友的列表,我是否将这些朋友存储在 Core Data 中,然后通过在刷新期间添加或删除朋友来更新我的 Core Data 模型?
  2. 我应该使用某种缓存工具,例如NSCache
  3. 我是否只是在网络请求运行时在屏幕上显示一个加载器,然后在完成后更新 UI?

我看到 Facebook 和 Instagram 等应用程序在启动应用程序时会显示一些帖子,同时它们会获取最新数据,但我不确定它们是如何实现这一点的。

你能给我一个合适的方向吗?

4

1 回答 1

1

保留某种离线缓存很有用,因为这意味着即使您仍在从网络连接加载新数据,您也会立即显示一些数据。Core Data 对此很有用,但它实际上取决于数据的性质以及您的应用程序如何使用它。NSCache可能不是您想要的,因为它只会将数据保存在内存中,并且不会在您的应用程序下次运行时保存。

需要频繁网络更新的应用程序(如 Facebook)通常使用 iOS 的后台获取系统。如果您选择启用此功能,iOS 将不时在后台启动您的应用程序,以允许其获取新数据。如果您的应用程序将该数据保存在设备上的某个位置,那么当用户点击您的应用程序图标时,它就已经存在。

使用后台获取非常简单——您将适当的键添加到 Info.plist,然后application(application:, performFetchWithCompletionHandler:)在您的应用程序委托中实现。

于 2016-01-04T18:15:18.690 回答