繁体   English   中英

如何提高Sencha Touch 2.x应用程序的性能

[英]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并更新存储,以便我的列表将显示所有内容。 我尝试了两种方法

  1. 直接使用代理到商店
  2. 手动应用循环并添加记录以存储

但是在这两种方式中,应用程序都太慢了。

我了解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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM