我有一台jQuery手机,按字母顺序排列,按以下顺序划分:
<ul id="theList" data-role="listview" data-filter="true" data-filter-placeholder="Search ticker or firm name..." data-inset="true">
<li data-role="list-divider">A</li>
<li data-filtertext="itemName"><a href="#">Item</a></li>
.
.
<li data-role="list-divider">B</li>
<li data-filtertext="itemName"><a href="#">Item</a></li>
.
.
</ul>
在页面加载时,我使用随机生成的1000个条目填充列表,并将其放入sqlite数据库。最初生成和显示列表是很顺利的。问题是,因为这是一个过滤的列表,我希望用户能够搜索它。对于这么多的项目,搜索是相当缓慢的。
处理这件事的好策略是什么?也许我可以按需查询数据?以下是我要做的工作:
我想把这个比例扩大到N个项目,这样列表可以很大,但仍然运行顺利。我不知道这个名单还能有多大。
发布于 2013-04-22 03:38:19
您的搜索不应该缓慢地运行1000项。一个很好的匹配/不匹配算法可以在小于O(N)
的情况下运行,而且由于您要保持排序顺序不变,所以不能从快速排序中添加N!
。我能看看你的jQuery过滤器特定的代码吗?当演出开始时,我会给你建议。
至于您想要这样做的实际方式,如果最初不想加载1000个请求,可以考虑使用AJAX加载和分页。
发布于 2013-05-21 02:15:57
我正在开发一款phonegap应用程序,发现jquerymobile过滤器速度非常慢--我不得不等待2-3秒才能将每个键按键输入搜索框;这对iOS来说比对Android更糟糕。
最后,我放弃了,现在使用的是可数据,而不是listview --它速度更快,功能更多。
https://stackoverflow.com/questions/16133941
复制