Sencha Touch 跟Ext js一个提供了丰富且高级的组件让我们能快速的开发出一个跨手机平台而且很绚丽的产品,这听起来不错,但很快我们发现了一个严重的问题,手机上的效果根本没有在PC上用chrome打开的效果一样让人有刷刷的快感,甚至让人痛苦. Sencha Touch和ext一样,组件是类式继承的,大大降低了使用和学习的周期.但缺点也是很明显的,你每增加一个组件,内存消耗就增加很多,可能你已经使用minify/JSBuilder/YUI compressor等工具压缩过你的代码了,如果性能还不佳,那么可以看看以下是个人的一点建议
1.每个组件都应该考虑它的xtype,如果可以使用container就不要使用一个panel了
2.list一列的个数显示一屏就可以了,list有很多高级的功能,但性能非常的差,只能通过减少加载项来解决
3.尽量不要使用tbar/bbar,Sencha Touch的提供的toolbar功能强大,按钮也很易用,但使用的DOM元素也非常的多,自己写一个bar是非常必要的
4.把不在置顶的view中的DOM给删除,有时候,我们的项目中有好几个view,但我们一时间内是不可能同时查看两个view的,应该把其他view的DOM元素给释放了
从上面看来,性能优化的关键是控制DOM元素的数量,但Sencha Touch还会对一些元素绑定事件,如何开始就不显示这些元素,那么内存开销会更低