演示脚本(由新的应用程序生成器生成的脚本)在我的SGS2上启动大约需要6秒钟。这是一个jRuby税还是我没有正确安装它(我假设rake install
是这样的方式)?
如果它就是它的样子,那么我想知道一个玩旋转器比其竞争对手长6秒的应用对任何人来说都是有价值的(真正的问题 - 不是拖钓)。
答案 0 :(得分:6)
启动时间是现在的样子,所以你没有做错任何事。启动时间的主要部分是JRuby初始化。工作正在加速,但你不应该期待在不久的将来发生重大变化。
启动时有几种解决方法。
您可以添加漂亮的水花而不是枯燥的进度微调器。您可以通过在res / layout /中添加splash.xml来实现。一个漂亮的飞溅将使启动看起来更短。
您可以在用户启动应用程序之前初始化JRuby运行时。一种方法是通过添加侦听BOOT_COMPLETED事件的广播接收器来启动服务。该服务可以为空,但是通过启动服务,初始化JRuby运行时,稍后启动的任何活动将在几毫秒内启动。你可以在这里找到一个例子:
https://github.com/ruboto/ruboto/wiki/Tutorial%3A-Detect-and-display-the-connected-WIFI-network
您可以让应用的初始活动基于Java,并在后台启动JRuby初始化。在这种情况下,当用户选择下一个活动时,将初始化JRuby。
更长启动时间的实际影响是什么,我不能说。速度越快越好,但我使用几个基于Java的应用程序需要10秒或更长时间才能启动,对我来说它不是一个显示阻止。这在很大程度上取决于应用程序的类型。