hyoromoのブログ

iOS/AndroidもしくはCocos2dxネタを書いています

「ミクのライブ壁紙(MikuLiveWallpaper)」をリリースしました

アプリの紹介はこっそり始めてたオレオレなアプリまとめサイトに内容を記載しています。

今回はLiveWallpaperアプリを開発するにあたり、詰まった点などを適当に書き残しておきます。
俺の屍を超えてゆけ...

Out Of Memory との闘い

LiveWallpaperでパラパラアニメとかやってみたい!って人が多いと思いますが、結構OOMが頻発します。
凄く有効的な回避対策は無いのですが、mhidakaさんのエントリー「OutOfMemoryErrorを知る」は大変参考にさせて頂きました。小まめに不必要なBitmapはBitmap#recycle()しておくと、OOM頻度を押さえられます。
あと、発生するのは仕方無いので、発生した時にどう処理させるかの方が重要だと思います。

アプリサイズ肥大化に伴う悩み

以前、クリスさんがどっかでアプリサイズ大きすぎるのはUninstallされる。って言われてたし、ミクアプリは音と画像でメチャクチャ容量喰います。
そこでリソースのダイエットが必要になったのですが。音はサイズ下げると音質に影響し過ぎるので調整せず、画像をダイエットさせました。
使用したのは「OptiPNG」。こちらは画像の見た目をほぼ変えずに2割くらいダイエットさせてくれます。


画像ダイエットさせても、音データ99個あってそっちが7MBあるから結局デブアプリになりました。
とりあえず、SDカードへアプリを保存出来るように対応したので気になる人は内部から外部に保存して貰うことにしました。
ただし、SDカードをマウントするとLiveWallpaperが解除されるという罠付きですが。。。やり方については公式サイトを見てください。

バージョンの問題

当初はOS2.1以上をターゲットに開発していましたが、OS2.1とOS2.2でLiveWallpaperの安定感が違うのでOS2.1は切り捨ててしまいました。
ちゃんと調べてませんが、OS2.1だとEngine側のどっかでメモリリークしてるんじゃないかなぁと思うんですよね。私の実装方法が悪いだけかもしれませんが。。。

版権問題

初音ミク」の版権はクリプトン・フューチャー・メディア社が持っています。
無料ならばピアプロリンクに準拠する形でAndroidMarketへの公開は認められていますが、今回有料アプリ配信したかったのでクリプトン社と3ヶ月くらいメールでやり取りして確認を取っていました。


結論は本アプリが無料な時点でバレてますが、「有料で配信するにあたり、クリプトン社の公式アプリとして販売する必要がある。
しかし、AndroidMarketにはアプリ審査が無いためアプリ自体にクリティカルな問題がある場合にクリプトン社として責任を負うことが出来ないため無理」と言うのが3ヶ月だらだらメールをやり取りして出た情報の要約。

最初はめっちゃウェルカムだったのですが。日に日にやりたくないモードへ移行して行ったのは、ちょうどウィルスなど負の情報が出回ったのが原因のようです。
全てに置いてタイミングが悪かった。

今後やりたいこととかLiveWallpaperの可能性とかそんなこと

BloccoLocaleを使えば何かしらのイベントをトリガーに、LiveWallpaper側にintent投げて楽に色んな事ができそうです。
LiveWallpaperは一番よく目にするHomeにあります。なので、他アプリとの連携を重視して色んな事が出来たらいいですね。