【发布时间】:2010-12-11 16:33:32
【问题描述】:
他的,
我尽可能使用 UiBinder 来提高应用程序的性能。但是,据我了解,当相应的模板包含丢失的静态信息时,UiBinder 处于最佳状态。
就我而言,移动应用程序的大部分屏幕区域都包含动态信息。例如,有一个带有按钮的面板,但您事先不知道一次显示多少个按钮。这就是我在拥有的 UiBinder 类中使用 HTMLPanel.add(Widget wgt, String id) 或 FlowPanel.add() 方法的原因。这不是减少了 UiBinder 的使用和调用 setInnerHTML() 的能力,而不是通过 DOM 操作创建元素,因为这些 add() 方法只接受小部件而不接受元素?
也许有一个技巧可以将 Element 对象而不是 Widget 对象添加到面板中,然后他们会充分利用 setInnerHTML?
谢谢
【问题讨论】:
-
您应该回答的第一个问题是“您当前的代码/应用程序是否真的很慢(ish)?” :) GWT 编译器做了很多优化,所以除非你有成百上千个这样的小部件,否则应该没问题。
-
它非常缓慢,但仅限于移动浏览器,它是为它设计的;)。在桌面浏览器上运行具有 10 倍数量的小部件的代码要快得多。这就是为什么我正在寻找进一步减少小部件数量的方法。
标签: gwt mobile widget mobile-safari gwt2