【问题标题】:Tab switch too slow in UIWebView with Sencha touch 2使用 Sencha touch 2 在 UIWebView 中选项卡切换太慢
【发布时间】:2012-04-17 15:24:13
【问题描述】:


我在我的 ios 应用程序中使用 sencha touch 2。但是选项卡面板太慢了,有一个选项卡包含很多内容,但是所有选项卡都很慢(在选项卡高亮和页面转换之间存在延迟,切换大约需要 1 秒)。

我尝试了 deferredRender 参数,但没有帮助。

我应该如何编写我的 tabPanel 以使其更快?

注意:同一页面在 android 上切换标签的速度更快,尽管在其他所有方面 android webview 都较慢

谢谢

【问题讨论】:

    标签: ios uiwebview sencha-touch-2


    【解决方案1】:

    这个问题和你的很相似:

    PhoneGap 1.4 wrapping Sencha Touch 2.X - What about performance?

    正如我在该主题中所说,通常 Android 的视图之间的转换更快,但其他效果(尤其是滚动)比 iOS 慢得多。

    目前我知道的唯一解决方案是保持 DOM 轻量级。不要尝试创建所有可能出现在您的应用程序中的视图并稍后通过 setActiveItem() 调用它们,因为它会极大地扩大您的 DOM。当你切换到一个新标签时,我建议你应该销毁所有其他标签的子组件(并且只保留一些变量,如果你想在切换回来时恢复它们的状态)。

    【讨论】:

    • 您好,感谢您的回答。你能告诉我最好的方法吗?创建我的项目是否足够,但仅在激活时将它们添加到我的选项卡并销毁旧项目?有点像activeitemchange : function(container, newValue, oldValue,opts) oldValue.getItems().items.length = 0;newValue.add(tabItems[index-1]);
    • 是的。这为 DOM 搜索节省了大量内存和时间,但另一方面,重新构造 DOM 元素需要时间,因为您之前已经在停用期间销毁了它们。但基本上,这是提高应用性能的好习惯。
    • 谢谢。我可以将它们从 DOM 中删除,并将它们保留为 javascript 变量,我想这可以节省一些时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    相关资源
    最近更新 更多