Androidがガラパゴス携帯になっていく!?
年末に掛けてSoftBank、au、DoCoMoなど3キャリアからAndroid端末が発売されます。またタブレットもたくさん出てくるようでこれからはAndroidの勢いが増していく!と思うのですが、開発者視点で現在起きている困った事象とこれから注意を要する部分、今後の考察などまとめて起きたいと思います。
既に起きている事象
- ある特定の端末でレイアウトが崩れる
ある機種ではなくある機種の特定の端末、それも複数でレイアウトの崩れが発生しています。現在確認が取れている機種はXperiaですが、手元のXperiaでは再現しません。レイアウトのXMLもそんなに複雑でなく、原因が把握できないままです。頻発するようであるとAndroidは品質保証の部分で非常にもろい一面を持っているといえます。
- ある特定の機種でOOMが頻発する
これもXperiaですが、特に画像を扱うアプリでOOMが頻発します。画像サイズを小さくして読み込むや色数を減らして読み込んだり画像のリサイクルを掛けたりしていますが、どうにも改善できませんでした。これは正確に確認したわけではないのですが、ヒープの扱いが端末によって異なるようです。
- ある特定の機種?端末?でSDカードに書き込めない
SDカードにファイルが保存できない事象が発生しています。これはdocomo SH10B LYNXで発生しているようですが、機種か特定端末に依存する事象かは分かっていません。ユーザーからの報告だけなのでなんともいえませんが、SD内のパーミッションの設定が機種により異なるのかも知れません。
- バージョンアップ後?音声ファイルが再生できない
これも詳細未確認で申し訳ないのですが、事象だけ書くと2.1から2.2に後からSD内のwavファイルが再生できなくなりました。アプリの録音機能後再生しているのですが、なぜか分かっていません。2.2からSDにアプリを移動できるようになったことと関係しているかなと漠然と思っています。
上記のようなことが起きると有料アプリとしてAndroidMarketにアップロードすることに躊躇せざろう得ません。テストにより品質保証できない上記のような現象はどうすればいいのかと思案しています。
Android開発において実機でおきそうな問題点をまとめておきます。
- 画面のアスペクト比
解像度の違いはある程度フレームワークで吸収できますが、アスペクト比は吸収できないので思ったような見た目にならない端末が出てくるかもしれません。
- メモリ関係
内蔵メモリの容量やヒープの使い方でトラブルが起きる可能性が高いと思っています。
- 端末固有の問題
各キャリアなどがカスタマイズのためにOSの下層まで手を入れているとするとそれに応じて生ずる問題はアプリ側からは対応が難しいように思います。
- OSのバージョンの問題
これまでも一部のクラスやメソッドがなくなるなど、バージョンアップにより修正が必要な部分がありました。バージョンアップにより色々な問題が起きる可能性は今後も十分に考えられます。
- root化による問題
これはサポート外になりそうですが、比較的簡単にroot化を行い、ROMを切り替えられるので、それらROMでは何が起きるか分かりません。ただこういったROMが盛り上って、 Ubuntu見たいなAndroidOSが出てくるというのはありそうで楽しみです。
現状、Linuxが辿った無数のディストリビューションのようにさまざまなAndroid端末やマーケットの乱立が始まっています。収斂するまでにはまだまだ時間がかかりそうな気がします。