【问题标题】:Lazy Loading in UIScrollView with Data from SQLite使用 SQLite 中的数据在 UIScrollView 中延迟加载
【发布时间】:2012-01-12 21:42:38
【问题描述】:

在我的 iPad 应用程序中,我制作了一个分段控件,其中一个分段 - 当单击时 - 显示一个长列表(大约 300 个),其中包含来自本地 SQLite 数据库的图像和标签。这需要花费大量时间来加载,并在从数据库加载所有应用程序活动时暂停应用程序活动。

虽然我暂时应用了一个活动指示器,但是看起来很粗制滥造。谁能告诉我如何以 单击按钮打开该视图时的方式应用延迟加载,而不是一次加载所有内容,它只获取最初显示在内容上的内容(大约 9 张带有标签的图像)。

提前致谢。

【问题讨论】:

  • 我太快了。从索引currentlimit 10(或20)开始执行sqlite查询,然后从那里前进。

标签: iphone ios ipad uiscrollview lazy-loading


【解决方案1】:

你应该在列表上实现分页。加载前 25 个项目,然后在 tableFooterView 上添加按钮(“Next 25”),这将加载另一个 25。

【讨论】:

    【解决方案2】:

    如果您使用UITableView,您可能会有更好的机会。

    UITableViewCell 一次加载一个单元格(为您提供它尝试加载的项目的索引),因此如果您使用表格视图,它只会加载需要显示的项目数量。你告诉它有多少物品,它们有多高,等等。

    它还重用单元格,因此它提供的性能比一次在内存中创建 300 个不同的视图要好得多。

    UIScrollView 不知道您的“项目”,因此它允许您将任意数量的项目推送到视图中,然后添加滚动条。这里没有针对内存使用或数据库访问进行优化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 2011-04-29
      • 2016-11-02
      • 1970-01-01
      • 1970-01-01
      • 2014-02-13
      相关资源
      最近更新 更多