特殊な業界向けということもあり、これまで会社レベルでAndroidに縁無かったんですが、この度動かすことになり、ちょっと躓いたのでメモ。
バックグラウンドでも低FPSで動作し続ける
いや、これホントビックリしましたね……。メニュー画面戻っても音流れ続けてるんですもん。 これがAndroidの仕様とは……。結論から言うと自前でアプリ内の停止・復旧処理を書く必要があるんですが、アプリの性質&元の設計&変更コストからNativeApplication.exit();で逃げました。
正味ここAIR側で簡単に一括処理できるようにしてほしかったというのは(ry
SWC埋め込んでると、起動が異常に遅くなる
これホントどハマリしましたねぇ……。具体的な症状としては20秒ぐらいブラックスクリーン状態が続いた後にようやく起動する感じですね。デスクトップやiOSだとプログレスバーいらないレベルの軽量アプリで用意してないし、AIR for Androidではスプラッシュスクリーン設定できないし、どうしたものかと。
これに対してはSWCを埋め込んだ本体ファイルを直接APK化するのではなく、プリローダー用のflaファイルを用意してそちらをAPK化し、SWCを埋め込んだ本体ファイルを読み込むという形に変えるだけで**何故か爆速になる**んで、これが手っ取り早いかと。早くなる道理が無いと最初スルーしてたんですが、後から試しにやったら本当に早くなって吹きました。おそらくは起動処理とSWCの読み込みがバッティングしてるんだと思うんですが……。