デモ スクリプト (新しいアプリ ジェネレーターによって生成されたもの) は、SGS2 で開始するのに約 6 秒かかります。これはjRubyの税金ですか、それとも私が正しくインストールできていないrake install
のですか?
もしそれがそのままなら、ライバルより6秒長くスピナーを再生するアプリが誰にとっても価値があるのか どうか疑問に思っています(純粋な質問-トローリングではありません)。
起動時間は今のままなので、何も悪いことはしていません。起動時間の主な部分は、JRuby の初期化です。これをスピードアップするための作業が進行中ですが、近い将来に大きな変更が行われることは期待できません。
起動時間については、いくつかの回避策があります。
退屈なプログレス スピナーの代わりに、きれいなスプラッシュを追加できます。これを行うには、 res/layout/ に splash.xml を追加します。素敵なスプラッシュは、起動が短く見えるようにします。
ユーザーがアプリを起動する前に、JRuby ランタイムを初期化できます。1 つの方法は、BOOT_COMPLETED イベントをリッスンするブロードキャスト レシーバーを追加して、起動時にサービスを開始することです。サービスは空でもかまいませんが、サービスを開始すると JRuby ランタイムが初期化され、後で開始されたアクティビティはミリ秒以内に開始されます。この例は、次の場所にあります。
https://github.com/ruboto/ruboto/wiki/Tutorial%3A-Detect-and-display-the-connected-WIFI-network
アプリの初期アクティビティを Java ベースにして、JRuby の初期化をバックグラウンドで開始できます。その場合、JRuby はユーザーが次のアクティビティを選択したときに初期化されます。
より長い起動時間の実際の影響については、私には言えません。速いほど良いのですが、起動に 10 秒以上かかる Java ベースのアプリをいくつか使用しています。アプリの種類によって大きく異なります。