目前正在使用sencha touch房地产应用程序列出属性。 我们有一个包含约500条记录的数据集 根据一个(可能多个)属性,通过用户输入过滤这些记录的列表。 按精确属性筛选列表,然后通过用户输入再次筛选 按属性对列表进行分组
目前已实施list-Paging插件并在每个请求中加载20条记录。但我的客户感觉就像在一个请求中加载所有500条记录并将这些数据缓存在本地存储中。只有在记录发生任何变化时,它才会刷新数据。
我的问题是,在单个请求中加载500条记录是否可行? sencha touch可以在其商店中处理500条记录吗? 这样做会有任何性能问题吗?
这是我的一条记录json
{
"id": 0,
"ReoAddress": "*testproperty, N, 42342, 3423, thrissur, AR, 3423432",
"ReoId": "407",
"AgentAssigned": "1",
"IsViewed": "1",
"PPView": 2,
"RecordCount": 368,
"items": [
{
"leaf": true,
"ReoId": "407",
"ReoImageUrl": "http://192.168.3.6:92/abraham/CRM_API/GetPropertyPhoto.ashx?ReoImgPath=G9/C+sKDbWKF/OCw22r5QN2UCNW1BwGW",
"ClientName": "Bank of America",
"ListingAgentContactName": "",
"MLSSNumber": "10",
"MLSStatus": "Sold",
"LockboxType": "",
"LockboxCode": "",
"NumberOfBedRooms": "0",
"NumberOfBathRooms": "0.00",
"GarageSpace": "0",
"IntSqFt": "0",
"CurrentListingPrice": "",
"PPView": 2
}
]
}
请指导我正确的方向。谢谢
答案 0 :(得分:1)
将数据存储在javascript内存中根本不太可能成为问题。我在我的应用程序中一次将数千条记录存储在内存中 - 没问题。
问题在于,如果您的商店有数百条记录,那么这些记录将同时存在于DOM中。 DOM中的500个数据视图项将导致巨大的性能问题。一个无限的列表也会为你解决这个问题。
HTML5完全与DOM性能有关。 DOM元素越少,性能越好。因此,请注意Sencha Touch在数据视图/列表中表示商店的背景中所做的事情。
您可以在我撰写的有关Sencha Touch数据结构的博客文章中找到一些进一步的提示:http://senchatouchdev.com/wordpress/2014/01/03/an-overview-of-sencha-touch-2s-data-system/