我的SGS2上,新应用程序生成器生成的演示脚本需要大约6秒钟才能启动。这是jRuby的影响还是我安装不当(我假设rake install
是正确的方式)?
如果只是这样的情况,那么我想知道,一个与其竞争对手相比多花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将被初始化。