テクノロジー · 1 min read · Dec 14, 2025

なぜiPhoneはAndroidフォンよりもRAMが少ないのか?

なぜiPhoneはAndroidデバイスよりもはるかに少ないRAMを必要とするのか?

iPhoneと他のAndroid搭載のフラッグシップフォンを比較すると、目立つのはデバイスのRAMストレージの大きな違いです。その結果、ほとんどの人はiPhoneが少ないRAMを必要とするか、Androidアプリがストレージスペースを占有していると結論づけます。しかし、Androidは本当にiOSよりも多くのRAMを使用しているのでしょうか?

RAM

ここで最初に確認する必要があるのは、ストレージスペースのことを話しているのではないということです。デバイスの内部ストレージスペースは、仕様がリストされるときにRAMストレージと一緒にまとめられることが多いです。私たちが話しているのは、CPUがアプリを保持して実行するために使用するメモリであるランダムアクセスメモリ(RAM)です。以下は、過去数年間の企業のフラッグシップデバイスの比較です。

| | 年 | | iPhone | | Samsung | | LG | | その他 | | | | 2016 | | iPhone 7: 2GB
iPhone 7 Plus: 3GB | | S7 & S7 Edge: 4GB | | G5: 4GB
V20: 4GB | | Pixel & Pixel XL: 4GB | | | | 2015 | | iPhone 6S: 2GB
iPhone 6S Plus: 2GB | | S6 & S6 Edge: 3GB
S6 Edge+: 4GB | | G4: 3GB
V10: 4GB | | Nexus 5X: 2GB
Nexus 6P: 3GB | | | | 2014 | | iPhone 6: 1GB
iPhone 6 Plus: 1GB | | S5: 2GB | | G3: 2GB (16 GBモデル)
G3: 3GB (32 GBモデル) | | Nexus 6: 3GB | | | | 2013 | | iPhone 5S: 1GB | | S4: 2GB | | G2: 2GB | | Nexus 5: 2GB | |

ご覧のとおり、iPhoneは一貫してAndroidデバイスよりもRAMストレージが少なく、唯一の例外はNexus 5Xです。これに関する一般的な意見は、iOSは少ないRAMを使用することで同じ、あるいはそれ以上のユーザーエクスペリエンスを提供できるというもので、これはAndroidがJavaのガーベジコレクションメカニズムを使用しているために本質的に引き起こされます。この見解は、インターネット上で最も一般的な意見として反映されます。しかし、問題をより深く掘り下げると、この意見は神話のように聞こえ始めます。

レジデントセットサイズ

AndroidのアプリがiOSのアプリよりも多くのメモリを使用するという理論をテストするために、デバイス間のメモリ使用量を比較することにしました。結果を共有する前に、結果の背後にある考えを共有しましょう。アプリが画像を読み込むなどの機能を実行する必要があるとき、メモリを要求します。アプリが画像を読み込むために1MBのメモリを要求したとしましょう。この時点で、アプリの仮想サイズは増加しますが、システムはまだメモリを割り当てません。実際の物理RAMの割り当ては、アプリがストレージから画像を読み込み、それをRAMに書き込むときに発生します。したがって、半分のMBしか使用されていない場合、アプリが使用する実際の物理メモリはその仮想サイズよりも少なくなります。

アプリによって使用されるこの物理メモリは、レジデントセットサイズ(RSS)と呼ばれ、アプリが実行するために必要な物理メモリの最良の指標です。研究者たちは、iOSとAndroidのさまざまなアプリに必要なRSSを特定するために多くのツールを使用しました。主張をテストするために、iOSとAndroidデバイスに同じ数のアプリをインストールし、それらのRSSを決定しました。各ケースでアプリは実際に使用されていました。以下は結果です:

ご覧のとおり、結果は少し混在しています。AndroidのCrossy Roadアプリは383MBのメモリを使用しますが、iOSでは308MBを使用します。しかし逆に、Temple Run 2はAndroidで211MB、iOSで364MBを使用します。全体的な傾向として、AndroidアプリはiOSアプリよりもわずかに多くのメモリを使用し、約6%多いです。しかし、iOSアプリはAndroidアプリの半分のサイズではありません。したがって、Androidアプリがメモリを大量に消費するという主張は成り立ちません。したがって、実際の理由はまったく別のものです。

バックグラウンドとフォアグラウンド

ストレージニーズの違いは、2つのOSがバックグラウンドプロセスを制御する方法から生じます。それぞれが異なるアプローチを取り、したがって異なる結果を生み出します。iOSは、アプリをバックグラウンドに移動させる際に3つの異なる方法で処理します:

  • アプリは、バックグラウンドに押し出される前にフォアグラウンドで開始されたタスクを完了するための時間を要求できます。

  • ダウンロードプロセスを開始したアプリは、これらのプロセスをシステムに引き渡すことができるため、ダウンロードが進行中でも一時停止または終了できます。

  • 特定のタスクをサポートするためにバックグラウンドで実行する必要があるアプリは、1つ以上のバックグラウンド実行モードのサポートを宣言できます。

これを自分でテストできます。iPhoneを持っている場合は、Safariを開いてURLを入力します。URLが読み込まれている間に、画面に変更をレンダリングするアクションを実行します。画面がレンダリングされている間、ページの読み込みが一時停止されることに気付くでしょう。しかし、Androidはバックグラウンドアプリに対して異なる方法論を採用しています。

Androidは、十分なRAMがあればすべてのアプリをRAM上で生かしておきます。Androidにとって、空のRAMは無駄なRAMです。これにより、アプリは一度初期化され、その後RAM上で生き続けるため、バッテリー使用量が減ります。これらのアプリにバックグラウンドプロセスがない限り、アプリが生きている間はバッテリーを使用しません。デバイスのRAMが不足すると、システムは使用頻度の低いプロセスを終了させ、ユーザーがアプリを心配せずに実行できるようにします。

このアプローチの違いは大きな違いを生み出します。iOSがアプリに課す制限は、より良いRAM管理を保証し、同時にユーザーインターフェースが目に見える遅延なしに動作し続けることを可能にします。一方、Androidはアプリにより高い自由度を与え、使用されていなくてもバックグラウンドで動作し続けることを許可し、ユーザーが実行中のタスクを妨げることなくアプリに戻ることができます。

このアプローチの裏側では、iOSユーザーはアプリに戻ったときにアプリがフリーズ状態になっていることを見つけるかもしれませんが、デバイスが目に見える遅延を経験することはありません。一方、Androidはより多くの処理を行うことを許可し、そのためにRAMの要求が高くなります。

出典: Quora

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。