メモリの最適化とは、アプリやシステム(OS)が利用する作業領域を整理整頓することです。整理整頓することで、以降起動するアプリを効率的に実行できるようになる...という考えかたですが、Androidにとっては必ずしも必要な処理ではありません。

パソコンやスマートフォンで実行されるプログラム/アプリは、さまざまな処理を行うための作業領域をメモリ(RAM)上に確保しますが、確保と開放を繰り返すうち小さな領域が飛び飛びに存在するようになります。この現象は断片化(フラグメンテーション)と呼ばれ、問題を引き起こすことがあります。

その問題とは、メモリ不足です。RAM/物理メモリ容量はじゅうぶんあるにもかかわらず、作業領域の確保に失敗してアプリを起動できなかったり動作異常を引き起こしてしまったり、という事態が考えられます。断片化を解消すれば、このような問題は起こらなくなります。

Android OSの場合、メモリ断片化にそれほど神経質になる必要はありません。断片化の影響を受けるのは、基本的に物理メモリ領域に直接アクセスするプログラムで、一般的なアプリは仮想メモリ(ストレージを使いメモリ領域を拡げるOSの機能)の恩恵に預かれるからです。不要と判断された作業領域を自動的に解放する機能もあります(ガベージコレクション)。

とはいえ、前面に表示されていないアプリ(フォアグラウンドで実行されていないプロセス)はキャッシュとしてメモリ上に保持されるため、それが他のアプリやシステム全体のパフォーマンスに悪影響を与えることがあります。確実にベストなパフォーマンスでアプリを実行したい場合には、手動で「メモリを最適化」できる機能を備えたアプリを利用してもいいでしょう。

  • メモリ最適化機能を持つアプリを利用する手もあります(画面は「Yahoo! 音声アシスト」)