我一直在为Android和iPhone研究Sencha Touch2应用程序开发。虽然我不是移动新手,但我仍在学习Sencha Touch和ExtJS。
我的应用程序在每个屏幕上都有一些带有ListView的屏幕。我的应用程序遵循Sencha MVC模式。它使用卡片布局,放置在视口上,并在其上添加不同的表单/组件。一个AJAX请求使数据可用于所有屏幕。作为回复,我获得了1000条记录的JSON响应。示例Json响应如下。
[{
"key1": "Similarities between Operations and Projects",
"value1": "Some Value"},
{
"key2": "Differences between Operations and Project",
"value2": "Some Value"},
.... {}, {}, {}
]
我必须解析JSON并更新商店,以便我的列表显示所有内容。我尝试了两种方法
但是这两种应用程序都很慢。
我理解JavaScript可能会有1000条记录很大。但我想明白,如果我能做到更好的话。
我已经进行了扫视并搜索了堆栈溢出(下面粘贴的链接),但是,没有发现任何令人满意的结果。
PhoneGap 1.4 wrapping Sencha Touch 2.X - What about performance?
我的想法: 目前,所有记录/ JSON响应对象都存储为全局对象。我可以通过将其存储到SessionStore或LocalStore来减少。这个陈述有效吗?
请帮助我理解我是否可以改进它。
答案 0 :(得分:1)
基于如何应用程序缓慢的复杂性,有点难以回答这个问题。
加载速度慢吗?
实现分页肯定会有所帮助,我无法想象1k记录的json返回是一个瞬间的事情。
寻呼是你的朋友。
在浏览器中描述加载时间,并使用什么杀死你。 (这通常解决了我在该领域99%的问题)
是否有滞后性?
Rescoping提高了速度,但再一次,看看在JS中实际玩游戏范围等往往是过度优化(ExtJs在其API中有足够的奇怪位,这是基于,我想这是一场失败的战斗)。
如果你去看vids on performance,他们就动态创建的组件给出建议,销毁任何不活跃的东西等等,但这对我来说至少是一个内存管理的东西。
<强> TL:DR:强>
根据个人经验,我有40x10网格落后于sencha touch,我想1000x1网格会让你嘎然而止。
在服务器端进行管理,您的后顾之忧将消失:)