広告を閉じる

携帯電話がスムーズなマルチタスク処理を行うために必要な RAM の理想的な量については、かなり議論の余地があります。 Apple は iPhone のサイズを小さくすることでなんとかしており、Android ソリューションよりも使いやすいことがよくあります。また、iPhone には RAM メモリ管理のような機能はありませんが、Android にはこのための専用の機能があります。 

たとえば、Samsung Galaxy スマートフォンで次の操作を行う場合 ナスタベニ -> デバイスケアここには、空き容量と占有容量に関する情報を示す RAM インジケーターが表示されます。メニューをクリックすると、各アプリケーションが使用しているメモリ量が表示され、ここでメモリをクリアするオプションもあります。 RAM Plus 機能もここにあります。その意味は、内部ストレージから一定の GB を切り取って、仮想メモリとして使用することです。 iOS でこのようなことが想像できますか?

スマートフォンはRAMに依存しています。オペレーティング システムを保存したり、アプリケーションを起動したり、一部のデータをキャッシュやバッファ メモリに保存したりするのに役立ちます。したがって、アプリケーションをバックグラウンドに落としてしばらくしてから再度開いた場合でも、アプリケーションがスムーズに実行できるように、RAM を編成および管理する必要があります。

スウィフト vs.ジャワ 

ただし、新しいアプリケーションを開始する場合は、アプリケーションをロードして実行するためのメモリの空き領域が必要です。そうでない場合は、その場所を空けなければなりません。したがって、システムは、すでに開始されているアプリケーションなど、実行中の一部のプロセスを強制的に終了します。ただし、両方のシステム、つまり Android と iOS では、RAM の動作が異なります。

iOS オペレーティング システムは Swift で書かれており、iPhone は実際には、閉じたアプリから使用済みメモリをシステムにリサイクルする必要がありません。これは iOS の構築方法によるもので、iOS は iPhone 上でのみ実行されるため、Apple が完全に制御できるからです。対照的に、Android は Java で書かれており、多くのデバイスで使用されているため、より汎用性が高い必要があります。アプリケーションが終了すると、アプリケーションが使用していたスペースがオペレーティング システムに返されます。

ネイティブコードとJVM 

開発者は iOS アプリを作成するとき、それを iPhone のプロセッサ上で実行できるコードに直接コンパイルします。このコードは、実行に解釈や仮想環境を必要としないため、ネイティブ コードと呼ばれます。一方、Android は異なります。 Java コードがコンパイルされると、プロセッサに依存しない Java バイトコード中間コードに変換されます。したがって、異なるメーカーの異なるプロセッサ上で実行できます。これには、クロスプラットフォーム互換性という点で大きな利点があります。 

もちろん、欠点もあります。オペレーティング システムとプロセッサの組み合わせごとに、Java 仮想マシン (JVM) と呼ばれる環境が必要です。ただし、ネイティブ コードは JVM 経由で実行されるコードよりもパフォーマンスが高いため、JVM を使用すると、アプリケーションが使用する RAM の量が増えるだけです。そのため、iOS アプリのメモリ使用量は平均 40% と少なくなります。これが、Apple が Android デバイスほど多くの RAM を iPhone に搭載する必要がない理由でもあります。 

.