2013年8月27日

Androidのメディアストレージによるキャッシュを更新する

Androidに.oggや.mp3ファイルを転送して、そのあと適当に違うフォルダに移動したりすると再生ができなくなる問題にハマったのでメモ。

この問題の原因は、Androidの「メディアストレージ」というプロセスがファイル転送直後にファイルをスキャンして「xxというアーティストの、yyという曲は、ファイルシステムのzzにあるよ」とキャッシュに記録するのですが、この情報がファイル移動時に更新されないために、キャッシュと実際のファイルの位置がずれてしまうことです。

対策としては以下の2パターン:
  • メディアストレージに「キャッシュを更新して!」とお願いする
    • Force Media Scan というこれだけを行うアプリがあるのでインストールしてボタンを押す
  • メディアストレージのキャッシュを消して作り直させる
    • 「設定→アプリ→すべて→メディアストレージ」を探してデータを削除したあと、再起動する

/proc/1/io を見るとsystemdがすごくI/Oしてそうに見える件メモ

/proc/1/io を見ると systemdがI/O大量にやっている(ように見える)のが腑におちなくてちょっとしらべました。 task_io_accounting_add という関数があってioの集計情報を足すのですが その関数がexit時によばれて子プロセスのio統計が...