Androidのバージョンが2.2になった頃だったと思うのですが、音楽を再生しながら何かやっていると音楽が途切れるようになりました。

私がインストールしているアプリの中で症状がでるアプリは以下のアプリでした。

  • gReader Pro
  • anちゃん
  • Dolphin Browser HD

さて、どうしたものか、、、

逆に症状が出そうで出ない事

  • 標準のカメラで高画質・高解像度撮影
  • SDにインストールしてあるアプリ(googleの星が見えるやつとか)を起動・動作・終了

ホント、原因がわからない。なので、一つづつ考えてみます。

原因その1

Android 2.2でできるようになった事、それはSDカードへのアプリインストール。こいつが悪いのかな?と考えました。でも、問題となっているアプリの中でSDへインストールしているのはDolphinだけ、、、説明がつきません。また、SDに入れているアプリは他にもあり、それらは問題になっていません。なので、これは原因では無いでしょう。

原因その2

他に2.2で変わった事。それは純正アプリが勝手にアップデートされている。私が今まで使っていた音楽再生アプリは、HTCが作った純正の音楽プレイヤーでした。これが2.2対応と同時に勝手にアップデートされて問題を起こすようになったのか?という訳で、「PowerAMP」というアプリを入れてみました。(リンク先はオクトバの紹介ページです)

結果、まったく変わらず。。。どうやら、純正アプリの問題では無いようです。でも、今回入れたアプリのデザイン等がカッコイイので、このまま使うことにします。

原因その3

困ったときのgoogle先生。という事で、同じような症状で困っている人が居るのではないか?と思い、検索したところ、SDカードへのアクセスが低速の場合に、音飛びとかがあるらしい。でも、今使っているSDは速度的に問題ないと思う、、、その前に、少し前までは問題無かったんだ、、、それに、SDアクセスの負荷で言えばカメラ撮影や、高解像度画像の再生の方がキツイはず。という事で、この問題でも無いでしょう。

原因その4

SDアクセスの問題ね、、、と考えていると、問題のアプリの共通項目がありました。それは、SDにキャッシュデータを記録している。問題となっている3つのアプリは、インターネットからデータを落としてローカルに保存しておく必要のあるアプリばかり。試しに、キャッシュデータの保存先をSDから本体メモリに変更したところ、音楽が途切れる事が無くなりました。

対策

キャッシュをSDに保存するから問題という事がわかったので、対策を入れていきます。理想は、ひとつの対策で全てを解決する事ですが、根が深そうなので部分対処で我慢します。

gReader Pro

今までは、SDにデータを保存。ログ数は限界まで。という設定で使用していました。ただ、古い情報を見ることは無いので、ログの保存件数と、保存日数に制限をかけて、本体メモリにキャッシュデータを保存するように変更しました。これをやっておかないとRSSの自動更新とかで音楽が途切れるのでストレスが溜まります。

anちゃん

はい。諦めました。こちらのログは、残しておきたい事もありますのでSDへ保存しておかないとスグに内蔵ROMが溢れます。また、使用頻度も少ないので音が途切れる方を我慢する。という方針になりました。

Dolphin Browser HD

今までは、キャッシュをSDへ保存していました。これを、内蔵ROMに変更しました。キャッシュと履歴は、アプリ終了時に消す派です。なのでSDへ保存しておく意味が無く、どちらでも良かったから。。。

まとめ

結局、根本の原因はわかりませんでした。大きなファイルのRead/Writeをしながら音楽再生をしていても問題無いので、単純にSDへのアクセスが重なると問題になる。という物では無いようです。Android2.2でSDアクセスの仕組みが変わって、問題となっているアプリは、SDへアクセスするときの手順に不具合があるのかな?と勝手に想像しています。

この問題は、本体ROMの少ない端末固有の問題だと思うので、他の端末ではSDはデータ保存用として割りきってしまえば悩む必要も無いでしょう。ホント、内蔵ROMのサイズは重要ですね。。。

SDカードは、あくまでもデータ保存用。キャッシュに使うような事はやめようね。

■ 関連する雑記