Ruboto应用程序启动缓慢

4

我的SGS2上,新应用程序生成器生成的演示脚本需要大约6秒钟才能启动。这是jRuby的影响还是我安装不当(我假设rake install是正确的方式)?

如果只是这样的情况,那么我想知道,一个与其竞争对手相比多花6秒钟的旋转器应用程序是否对任何人有价值(真诚的问题-不是恶意调侃)。

1个回答

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秒或更长时间才能启动,对我来说这并不是一个阻碍。这严重依赖于应用程序的类型。

1
谢谢您提供的好建议!我是Android的新手,正在努力决定Ruboto的乐趣是否超过了Java的痛苦。 - artemave
2
BOOT_COMPLETED 是一个很棒的技巧。唯一需要注意的是 ruboto 进程占用大约 60Mb 的内存(比 Chrome 还要多!)。正在尝试决定这是否可接受。 - artemave
自从Ruboto 1.0发布以来,其启动时间缩短了4秒。请参阅其官方维基:http://ruboto.org/news/2013/12/24/Ruboto-1.0.0-release-doc.html 性能合理。(最佳情况下启动时间为4秒或更短)。 - Siwei

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接