如何提高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并更新存储,以便我的列表显示所有内容。我试过两种方法
- 直接使用代理到商店
- 手动应用循环并添加要存储的记录
但在这两方面,应用程序都非常慢。
我知道JavaScript可能有1000条记录是巨大的。但我想明白,如果我能在任何方面做得更好的话。
我已经做了眼睛和搜索堆栈溢出(粘贴链接下面),但是,没有发现任何令人满意的。
PhoneGap 1.4包装Sencha Touch 2.X-性能如何?
我的想法:目前,所有记录/JSON响应对象都存储为全局对象。我可以通过将其存储到SessionStore或LocalStore来减少。这句话有效吗?
请帮助我了解我是否可以在任何方面改进它。
基于应用程序缓慢的复杂性,回答这个问题有点困难。
加载缓慢吗
实现分页肯定会有所帮助,我无法想象1k记录的json返回是即时的。
寻呼是你的朋友。
在浏览器中记录加载时间,并处理正在杀死你的内容。(这通常可以修复我在该领域遇到的99%的问题)
是不是很懒
重新伸缩提高了速度,但同样,在JS中实际处理范围等往往是过度优化的(ExtJs在其API中有足够多的奇怪比特,这是基于API的,我认为这是一场失败的战斗)。
如果你去看性能视频,他们会给出关于动态创建组件、销毁任何不活动的组件等的建议,但这(至少对我来说)是一件内存管理的事情。
TL:DR:
根据我个人的经验,我有40x10的网格滞后于sencha触摸,我想1000x1的网格会让你急刹车。
在服务器端管理它,您的担忧就会消失:)
- 如何提高Sencha Touch 2.x应用程序的性能
- 离子框架移动应用程序性能问题
- 模块化与性能与性能与角度应用程序中的ng-include
- Web应用程序性能:SVG、Canvas或Dom Manipulation
- 电子应用程序从dvd加载性能差
- 分析生产中应用程序的浏览器性能
- ASP.NET MVC应用程序中的javascript分离/性能
- 始终运行的 Web 应用程序上的动画滞后和性能问题
- 调整Phonegap的应用程序执行性能
- 使用 JS 原型构建大型 JS 应用程序的性能优势
- 对应用程序中浏览器的相对性能具有启发性
- PhoneGap应用程序性能评估
- node-webkit与chrome浏览器中应用程序的性能
- Jquery Mobile web应用程序的性能增强
- angularjs范围内可以存储的最大数据大小是多少?具有重作用域的应用程序的性能
- 在一个应用程序中使用多个角度应用程序时的性能影响
- 如何衡量Angular JS应用程序的性能
- J2EE web应用程序性能调优
- 单页应用程序性能问题
- 余烬应用程序性能