[英]How to improve performance for Sencha Touch 2.x application
我一直在为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包装Sencha Touch 2.X-性能如何?
我的想法:当前所有的records / JSON响应对象都存储为全局对象。 我可以通过将其存储到SessionStore或LocalStore来减少。 这句话有效吗?
请帮助我了解是否可以以任何方式进行改进。
有点难以回答这个问题,基于应用程序如何缓慢的复杂性。
它加载缓慢吗?
实现分页肯定会对此有所帮助,我无法想象1k记录的json返回是一件即时的事情。
分页是您的朋友。
在浏览器中配置加载时间,然后找出造成您死亡的原因。 (这通常可以解决我在该领域中遇到的99%的问题)
懒吗?
Rescoping可以提高速度,但是再一次,查看JS中的作用域等趋于过度优化(ExtJs在其API中有足够的怪异位,这是基于它的,我想这是一场失败的战斗)。
如果您观看性能上的视频 ,它们会提供有关动态创建的组件,销毁任何未激活的组件等的建议,但这(对我来说至少)是内存管理方面的事情。
TL:DR:
就个人经验而言,我有40x10的网格在sencha触摸方面落后,我想象一个1000x1的网格会使您陷入停顿。
在服务器端进行管理,您的后顾之忧将会消失:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.