通常Androidにはスプラッシュという概念がないらしいのですが、Monacaではメニュー上から画像を設定してスプラッシュをアプリに組み込めるようになっています。
そこで今回起きた問題がこちら。
麻雀点数計算アプリ「suzume」は、サクサク動いてプレイ中に使用できることを想定して制作しているので、ブランディング的なロゴ表示とかそういうのいいからさっさと入力画面にいきたいって思っていたんです。
それで、デフォルトで設定されているスプラッシュ画像をクリアしてみたり、公式のMonacaドキュメント スプラッシュ画像の制御方法に従って時間を999….ってしてみたりしたんです。
実際には、99999999…って入力しても、保存すると9223372036854775807みたいな数字になりましたが。
扱える数値の上限数があるんでしょうね。
エンジニアじゃないからそのへんのこと詳しくないけど。
でも設定してみても、即時にアプリ画面が表示されるわけでもなく、今までスプラッシュが出ていた時間(3秒ほど)まっしろな状態になるなぁ…と思っていました。
で、まあ、スプラッシュ画像を設定したらどうなるんだい?と思って設定してみたら、特に問題なくスプラッシュが表示されて、画面のもたつきやチラつきもなく入力画面が表示されたので、もう、これでいいや…と思いスプラッシュ画像ありバージョンをリリースしました。
おかげでスプラッシュ画像の作り方、9patchを覚えることができました。
9patchについてはメモしておきたいので別途記事を書きたいと思います。
…職場の人が今日、言ってきたんです。
「起動がめっちゃ遅いんだけど」って。
見ると、以前のバージョンでスプラッシュが表示されていなかったので、真っ白で最初は動いてるかどうかわからないしなぁって思ってたら、そんなレベルの話じゃなかった。
【古いバージョンをご利用の方へ】
起動時に「suzume」ロゴが表示されないバージョンでは、端末により「タップしないと白い画面のまま動かない」という現象が起きていることがわかりました。お手数ですが、最新バージョン(1.0.5、起動時に緑の画面が表示される)に更新してください。
— 麻雀点数計算アプリsuzume (@suzume_m31) 2015, 9月 25
ギャアァァァァ━━━━━━(|||゚Д゚)━━━━━━!!!!!!
いくら待ってもずーーーーーっと白い画面で動かない。
正確に言うと、起動したら画面を一度タップしないとActivityに移動しないって感じなんでしょうかね。読み込み終わったら自動で即座に表示されるのではないと。
Monaca クラウド IDE 上のメニューから、スプラッシュ画像を、手動で、消去できます。
…だから、決して、起動後にスプラッシュ画像を消すタイミングをアプリ側のコードでイベント書いたりして手動で設定できるっていう意味ではないはず…私、勘違いしてないですよね?(;´Д`)
スプラッシュの是非はともかくとして、ロゴスプラッシュを表示したことでいかにもアプリっぽくなったし、起動時間の体感は初期バージョンよりずっと短くなったので、結果的にはスプラッシュ画像導入して良かったかな、と思うことにします。