ClientBundle.enableInlining和ClientBundle.enableRenaming?

时间:2012-10-23 16:14:01

标签: java gwt clientbundle

我最近在ClientBundle杠杆和旋钮部分阅读this article,请参阅以下两个条目:

  • ClientBundle.enableInlining是一个延迟绑定属性,可用于禁用数据的使用:浏览器中的URL,否则支持将资源数据内联到已编译的JS中。
  • ClientBundle.enableRenaming是一个配置属性,它将禁止使用强名称的缓存文件。

我很难想象这些行动并理解他们的所作所为。你在哪里设置这些属性?你为什么要设置它们(即,什么时候我想“禁用数据”,或“禁用强名称缓存文件”)?有人可以为我提供一个真实世界的用例和一些代码片段吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

  

您在哪里设置这些属性?

延迟绑定属性在gwt.xml中设置<set-property>https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsDeferred

  

为什么要设置它们(即,何时我想“禁用数据”,或“禁用强名称缓存文件”)?

对于调试,或者如果它们应该为您的应用带来的性能提升实际上弊大于利(enableInlining'), or if you need/want to share the resources with other scripts/apps ( enableRenaming`)。

  

有人可以为我提供真实世界的用例以及一些代码片段吗?

当你需要它时,你会知道它。在此之前,请忽略它们。

答案 1 :(得分:0)

如果这仍然有用,我有一个需要禁用内联的真实示例。

但首先,只是为了澄清所需的代码;

<set-property name="ClientBundle.enableInlining" value="false" />

在XML中禁用DataURL并使用图像条

我必须在我的代码中执行此操作,因为我的项目需要动画图像。使用DataURL时,即使只有几帧的基本精灵也会有非常差的性能。浏览器很难在合理的帧速率附近更新和显示图像。

相比之下,使用图像条,大大提高了性能。浏览器只需要更改裁剪。 事实上,鉴于动画PNG的浏览器支持不足,如果你需要动画图像,这可能是当前最好的方法。