Androidの「メディア」によるバッテリードレインかどうかを確認する方法

Android 6.0にアップデートしたXperia Z4くんがバッテリードレイン病にかかってしまった。とりあえず原因を探り、対処方法を見つけたのでメモしておく。

原因を調べる

まず「設定」→「バッテリー」→「電池使用量」を調べる。 f:id:ruby-U:20160502123522p:plain

この時点で明らかに「メディア」が怪しい。

もう少し詳細に調べる

PCが手元にあれば、adbを使ってtopを見ることができる。 f:id:ruby-U:20160502123738p:plain

ここで、/system/bin/sdcardとあるので、外付けSDカードが原因だ、というわけではないことに注意。これはそういう名前のサービスで、詳しくは Configuration Examples | Android Open Source Project などを参照されたし。

さらに詳細に調べる

端末がrootedなら、adbからsuしてlsofなどを叩くこともできる。詳しくは Finding open files with lsof などを参照されたし。

今回の原因

/storage/sdcard0/DCIM/.thumbnailsを消すと、android.process.mediaの暴走が止まった。思い当たることといえば、

  • 最近Googleの「フォト」アプリを更新した
  • BitTorrentSyncを使用して、DCIMフォルダをPCと同期している
  • 同期したファイルに、破損したものがあった(Lightroomへのインポート時に警告が表示された)

ぐらい。ひとまず問題があれば、怪しいフォルダを探して、PCやクラウドにバックアップした後、top | grep media を眺めながら、サクッと消してみるのがよさそう