代码改变世界

Sencha Touch 2.0 威老的自定义组件:CardPanel

2011-12-23 15:33  威老  阅读(3096)  评论(1编辑  收藏  举报

这个自定义组件是用来帮助我们动态销毁暂时不用的视图的。我们把CardPanel作为主视图,用户进入另一个视图的时候,调用setActiveCard()来设置CardPanel的activeItem。这样当用户点击后退按钮时,这个CardPanel就会同时销毁视图并将其从dom结构中除掉。

 

官方的优化指南文档说了,ST性能瓶颈在于内存,而不在cpu。因此为了提高性能我们可以专注于精简dom结构。

把看不见的视图先销毁,这就是一个不错的点子。但也不是所有看不见的视图都要立即销毁,有些视图可能用户马上还会用到,这些可以先保存在栈里面。因此,前进的时候,需要保存现场。后退的时候,则可以销毁。

对于想要提高性能,又不想损失程序可读性的人来说,应该会有所帮助。

今天把这个cardpanel做了些修改,现在兼容性会更好一些。

然后也简单做个例子,顺便尝试一下jsfiddle: