【发布时间】:2011-01-20 03:16:44
【问题描述】:
我有一个 html 文件,其中包含一个作为 applet 的 jar 文件。当我打开 html 文件时,它会花费太多时间来加载小程序。
有什么办法可以减少这个加载时间??
【问题讨论】:
我有一个 html 文件,其中包含一个作为 applet 的 jar 文件。当我打开 html 文件时,它会花费太多时间来加载小程序。
有什么办法可以减少这个加载时间??
【问题讨论】:
您可以使用Pack 200 来最小化JAR 文件的大小。这将产生多大的差异取决于下载所花费的时间以及下载后的启动时间。
【讨论】:
如果您的启动时间即使在本地加载也太慢,您唯一能做的就是切换到 HTML5、Flash 或 Silverlight。我知道这有点拖钓,但 JVM/沙盒实现是罪魁祸首,你无能为力。
SUN 的家伙真的没有得到 RIA-s 的要求。当然,Oracle 总是有可能加快速度,但 Applet 已经 15 年了,从那时起就变得如此缓慢。
【讨论】:
这里有三个主要因素在起作用。
1) Java 启动时间。冷启动过去是 5-10 秒,但是随着 Java quickstarter 的变化,它是 Java 1.6 更新 10 的一部分。Windoes XP 和 2000 默认开启(Vista 提供了它的自己的预加载机制),但也许你禁用了这个(enable information)。
2)小程序的下载时间。在本地进行测试,如果启动时间明显不同,请考虑使用更好的压缩技术。 Proguard 将混淆代码并将代码大小减少upto 90 percent。 90Kb 应该不会很慢,但这可能取决于您的网络速度和主机。
3) 用于初始化小程序的代码。您可以暂时更改您的 init 方法以仅显示一个 hello world 按钮来确定这是否是一个问题。如果您对性能不满意,您可能需要分析您的代码。
Applet 启动时间应该在 1 秒左右(不包括下载时间)。检查你有一个相当新的 Java 并尝试一个简单的Hello World applet。
【讨论】: