2012-01-12 136 views
2

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

尽管我暂时应用了一个活动指标,但看起来非常低劣。任何人都可以告诉我如何应用延迟加载的方式当单击该按钮以打开该视图,而不是一次加载所有内容时,它仅提取最初显示在内容上的内容(大约9个图像与lablels)。

在此先感谢。

+0

我太快了。在索引'current'limit 10(或20)处开始执行sqlite查询,然后从那里前进。 – 2012-01-12 21:46:17

回答

0

您应该在列表上实施分页。加载第25个项目,然后在tableFooterView上添加按钮(“下一个25”),该按钮将加载另一个25.

0

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

A UITableViewCell一次加载一个单元格(为您提供要加载的项目的索引),因此如果使用表格视图,它将仅加载需要显示的项目数。你告诉它有多少项目有,他们是多么高大,等

它还重用细胞,所以它比同时在内存中创建300个不同的意见有很多更好的性能。

一个UIScrollView不知道你的“物品”,所以它可以让你想你把尽可能多的项目到视图,然后添加一个滚动条。这里没有对内存使用或数据库访问进行优化。