Nexus7(2012)をLollipopにしたら動作が激重・フリーズ連発する
はじめに
2012年秋に登場したNexus7は、競合製品を上回る性能でありながら2万円を切る価格で、その後のタブレットブームの火付け役になりました。
我が家でも導入から早4年が経ちましたが、クックパッド検索やnasneで録りためた番組の視聴用として、まだまだ現役で活躍中です。
ちなみにnasneは一家に一台あって絶対損はないNAS兼HDDレコーダーです。
しかし、ここ最近はスペック不足のせいか、動作にもたつきやプチフリーズなどの不調が目立つようになってきました。
もはや我慢できないレベルに達しつつあったため、長年愛用したAndroid4.4(KitKat)に別れを告げ、一縷の望みを託してNexus7(2012)にとっての最終バージョンであるAndroid5.1(Lollipop)へのアップデートを決意!
ところが、このアップデートが致命傷となり、以前にも増して動作が激重に!
さらにフリーズも連発するなど、もはや実用に耐えないレベルになってしまう!
途方に暮れかけながらも、諦めずにあらゆる手段を尽くして、ようやく完全解決に漕ぎ着けました。
千里の道も一歩から、地道に努力を続ければいつかゴールに辿り着くよ、というのが今回のお話。
結論
- Chromeをアンインストールする
- 開発者向けオプションで「バックグラウンドプロセスの上限」を設定する
経緯
調べてみると、私と同じように悩んでいる人が多数いるようです。
動画再生とかがカクついてイラッ。
Facebookのフィードを開くのにも1分くらいかかってちょっとイライラ。
ブラウザでのスクロールがカクカクしてきてイライライラ。。
Nexus 7(2013)の方については、特にアップデート後の問題は出ていないのですが、Nexus 7(2012)については、翌日から全ての動作が重くて使い物にならないレベルに。
アプリの起動がタップして数秒から下手をすれば数分待つ、画面が真っ暗になって動かなくなる、いきなりOS自体がシャットダウンして再起動する等でストレスが溜まって仕方がありません。
まさにこんな感じです。それでも動いてるときはまだマシで、酷いときはタップやスワイプをするたびにフリーズし、ロック解除にすら1分くらいかかるようになります。
そこで考えられる全ての解決法を試してみることにしました。
①「OK Google」をオフにする ⇒ 効果なし
残念ながら、私の場合は全く効果がありませんでした。なお、やり方はコチラを参考にしました。
Android 5.1以降にNexus 7、Nexus 5がもたつく場合の改善策。原因は「OK Google」かも | スマホ評価・不具合ニュース
国内外でこの動作が重くなるという現象に直面しているユーザーの多くが、「OK Google」をオフにすることで症状が劇的に改善したと報告しています。
②キャッシュパーティションをクリアする ⇒ 効果なし
こちらも私の場合は全く効果がありませんでした。なお、やり方は先ほども紹介したコチラの記事を参考にしました。
この手順を行う事で、Android 5.0 Lolipopのアップデート翌日と比べると、OS・アプリ共にかなり動作が早くなりました。
ただ、アプリの起動が遅かったり、再起動が起こったりする等、まだAndroid 4.4 Kitkatの時よりも遅く不具合もある状態です。
どうやら完全解決するわけではないようですね。
③TRIMコマンドを実行する ⇒ Root化していないため見送り
是非試してみたい方法でしたが、非Root化端末かつ消せないデータが多数あるため(Root化には初期化必須)、今回は見送りました。
Nexus 7を重くしている原因が何なのか明かにしてしまうと、ストレージI/O、データI/O速度の異常な低下です。
Nexus 7に搭載されているeMMC(データ用ストレージ)の品質が低いため、また、Nexus 7のストレージのドライバーにバグが存在し、TRIMコマンド(ストレージ内の不要になったブロックを消去するというコマンド)が実行できないため、長く使用していると明らかに速度が低下してしまいます。
④マルチユーザーアカウントの消去 ⇒ マルチユーザー利用のため見送り
確かにマルチユーザーの切り替え時に動作が重くなることが多いんですが、家族で使うためマルチユーザーは必須です。というわけで却下。
⑤Chromeをアンインストールする ⇒ フリーズ連発が解消!
Chromeのアンインストール後、依然として動作が重いことはあるものの、画面が真っ暗になって動かなくなる、ロック解除で1分近く待たされる、といったことがなくなりました。
⑥バックグラウンドプロセスの上限を「標準の上限」以外に設定する ⇒ サクサク動作するようになる!
とりあえず実用に耐えうるレベルには達したものの、まだ改善の余地がありそうなので、さらに調べているとこんな記事を発見!
「何らかの状況」でぐっとレスポンスが落ちだし、運が悪い(?)と10分~20分位何もできない状態に陥る事も有ります。
もう一つ分かっていることは、バックグラウンドでサービスなどが走った時。これも超ババ遅になります。
確かに再起動直後は動作も重くないのですが、特に何も操作していないにもかかわらず、しばらくすると動作が重くなってきます。
これには私もバックグラウンドプロセスが影響していると考えていました。
そこで設定を確認していると、開発者向けオプションに「バックグラウンドプロセスの上限」なるものを発見!
なお、開発者向けオプションが表示されていない場合は、設定⇒端末情報で「ビルド番号」を連打してください。
「バックグラウンドプロセスの上限」は初期値では「標準の上限」(実際の数値は不明)になっていますが、これをひとまず「プロセスの上限:1」にしてみたところ、明らかに動作が軽くなりました!
というわけで、激重だったNexus7(2012)が無事復活しましたとさ。めでたしめでたし。
まとめ
ちなみに最適な「バックグラウンドプロセスの上限」を調べたところ、2~3が良いようです。
Android5を入れたら遅くなった場合の対処方法 | NJF
2か3に設定しておいて、切り替えの遅さが気になるときは3や4に、デバイス全体の安定性や速度が気になる場合は1や2にすると良いでしょう。
Nexus7(2012)のCPU(Tegra3)は4コアなので、バックグラウンドプロセスの上限を3以下に抑えれば、アプリ用に1コア確保できるため快適な動作が期待できそうです。
なお、Android端末はマルチタスク(バックグラウンドプロセス)の利用を前提としているので、「バックグラウンドプロセスを使用しない」にはしない方が良いと思います。