W.I.S. Laboratory
menu-bar

Android


Androidスマホが時々固まったり画面が真っ黒のまま応答しなくなる

結論から書くと、以下の2つを気にかけることでそれなりに改善した。

  • 写真や動画を削除したらその都度ゴミ箱も空にしておく
  • 時々スリープまでの時間を最長(30分くらい)に設定して、ホーム画面にしたまま放置する(その後はスリープ時間を戻しておく)

Androidスマホを使おうとして電源ボタンを押したり指紋認証しようとするのだが、しばらく反応してくれなかったり、電話がかかってきて取ろうとするのだが画面が真っ黒のままで操作しようにも何もできない、ということが時々ある。
そこまで頻繁に起こるわけでもなく、操作を受け付けない時間は数秒~5秒程度で、そこまで長い時間ではないものの、大切な時に限って起こる気がしてストレスだ。
Androidが遅い原因は多岐に渡るので、原因を突き止めるのはなかなか難しいのだが、2つほど可能性が高そうなものがある。

  1. ゴミ箱の自動整理
  2. 内蔵ストレージのTrim

AndroidはPCと違って、ゴミ箱に入れたファイルが30日~60日ほど経過すると自動的に消えるようになっている。
空き容量が減ってきて、ある日写真や動画の整理をしたとすると、その30日後にゴミ箱内のファイルをすべて削除する動作を始めるわけだ。
写真や動画の整理というのは毎日コツコツとすることはあまりなく、ある日にまとめて行うことが多いので、当然ゴミ箱内のファイル削除もまとめて実行されることになる。
この時ある程度のファイル数があると、すべて削除するにはそれなりの時間がかかり、その間スマホは応答しにくくなると考えられる。
30日前のことなどまず覚えていないので、突然スマホが遅くなったと感じられても不思議ではない。
写真や動画を削除したその時にゴミ箱も空にしておくと予防になる可能性がある。

またスマホのストレージはeMMCやSSDといったフラッシュメモリが使われているが、こういうタイプのストレージは少しでも寿命を伸ばすため、データを上書きしたり削除したりするたびにウェアレベリングを行っている。
ウェアレベリングをすればするほど、OSが認識している空き領域とストレージが認識している空き領域が食い違ってくるので、それを揃えるためにTrimが必要になる。
というわけで、Androidはストレージに対して定期的にTrimコマンドを送出している。
Trimコマンドを受け取ったeMMC(SSD)は、ストレージがあまり忙しくない(つまりデータの読み出しや保存があまり行われていない)ときにTrimを実行する。
Trimとは「OSが空き領域だと認識しているブロックを消去する」ということだ。
eMMCやSSDにとって、ブロックを消去するという作業はかなり時間がかかるので、この間にスワップした内容をメモリに戻そうとするとAndroidがしばらく応答しなくなると考えられる。
頻繁にデータ保存が繰り返されるような局面が多いと、それだけTrimの必要性も増えてくる。
例えばYoutubeなどの動画配信を長時間見続けたり、あちこちのSNSやWebを見続けたりしていると、キャッシュデータの書き込み・上書き頻度が上がってくる可能性があるので、Trim対象になるブロックがそれだけ多くなると考えられる。
一度スリープまでの時間を最長(30分くらい)にして、ホーム画面にしたまま放置してあげるとしっかりTrimをしてくれる可能性がある。(その後はスリープ時間を戻しておくこと)

というわけで、時々Androidが固まってしまうというのは、それだけスマホをよく使っているということの裏返しかもしれない。
ただ最初にも書いたが、スマホが遅い・固まるという原因は本当に多岐に渡る。
ストレージの空き容量が極端に少ないとか、アプリを入れすぎてバックグラウンド処理や通知待機処理だけでいっぱいいっぱいになっている(バックグラウンド処理や通知をOFFにすれば良いという単純な問題でもない)ということもあれば、単に故障しているということもある。
バッテリーが底をつきそうなほどになるまで充電せずに使う人は、知らない間に省電力モードがONになっていて、そのまま使っていることもあるし、その逆で頻繁に充電をしてバッテリー残量を常に90%以上に保ち続けている人は、バッテリーが劣化してしまい、Androidがそのバッテリー性能に合わせて性能を落としているかもしれない。
ただ、スマホの動作速度を遅くさせる要因のほとんどはストレージにあると考えられるので、この2点をまずは気にかけてみるのが良いのではないかと思う。


[ 戻る ]
saluteweb