ここしばらくiphone6の重い動作の原因について調べています。
それで少なくとも、RAM(メモリ)を圧迫している要因についてはだいたい把握できたので、ちょっと解説していきます。
なぜ重いと感じるか?
ある時期から、目に見えてアプリの起動に時間が時間がかかるようになりました。
その時期とはちょうどiOSのバージョンが10から11になったところです。(それが原因かはわかりません)
特にLINEなどは起動に5秒以上かかることが頻繁にあり、ひどい時には落ちることもよくあります。
その他、メールやTwitterなど、一般的なアプリは全部目に見えて立ち上がりが遅くなりました。
ストレージはまだ半分以上残って入り、全然問題ないので、あとはメモリじゃないかっていう疑いがあったので、最近いろいろ調べています。
現時点でのiphone6のメモリ状況
ここでいうメモリは動作の許容範囲に影響する部分のことで、ストレージとは違います。
スマホの世界では、一般的にはRAMがその動作の許容に影響する部分で、ストレージはROMと言うそうです。
ちなみにiphoneの場合は、話によると自動的に内部の古いメモリを消したりして、分け合うようにできており、少ないメモリでも不足しないようになっているそうです。
ActMonitorでRAMの内訳を表示
RAMの内部には大きく分けて3つの領域があります。
・Wired: ベースシステム部分
・Active: 現在使用中のアプリケーション部分
・Inactive: 直前までActiveだったアプリ等の部分
・Free: 空き部分
今回はこれをiphoneで表示させる専用アプリ「ActMonitor」を使います。
Actmonitor
このアプリでは、以上の4つの要素をリアルタイムで表示できるもので、iPhone専用(App store)のものです。
普段僕が使っているデバイスで、このアプリ起動させた状態が次のものです。
ご覧の通り、Freeの領域が圧倒的に少ないです。
次に、一般的になっているメモリ消去方法で、メモリを軽くしてみます。
直後の様子は以下の通り。
確かにActive領域が軽くなり、Free領域が増えているように見えます。
ただし、数分時間を置くとこの表示上では元の圧迫された状態に戻ります。
なぜ元に戻るのか、これの原因はわかりません。
バッテリーの劣化が問題か
話によると、iphoneでは自動的に圧迫されたメモリを順次感方していくようにできているそうです。
つまり、基本的にメモリがいっぱいでパンクするということはないということになります。
そもそもメモリにはキャッシュと呼ばれる履歴情報を残して置く機能があり、これのおかげでいちいち起動に時間をかけることなく、スムーズに一度使ったアプリなどを再度立ち上げることができます。
そのため、動作をスムーズにするためにこういう機能を含めたメモリを頻繁に解放すると、逆に動作が遅くなります。
結論を言えば、少なくともiphoneに関しては、こっちで意図的にメモリを解放する必要はないようです。
僕のiphone6が重い原因はそもそもバッテリーの消耗にあるのかもしれません。
もう2年くらい使っていますので。
世の中の最新アプリケーションはどんどんアップデートによってメモリを消費する内容のものになっているので、単純にスマホの寿命が短いというだけでなく、周辺アプリの技術の進歩の速さも影響しているんでしょうね。
普通に考えると、アプリが便利になればその分メモリをより消費することが理解できます。
[ad]