مدیریت رم iOS درمقابل اندروید: کدام سیستمعامل مدیریت رم بهتری دارد؟
میزان حافظهی دسترسی تصادفی (RAM) که گوشی شما برای انجام فرایندهای چندوظیفهای روان نیاز دارد، موضوعی مبهم است؛ بهخصوص اینکه گوشیهای اپل و اندروید از مقادیر متفاوتی رم بهره میبرند. گوشیهای هوشمند برای نگهداری سیستمعامل مثل اندروید و iOS و اجرای برنامهها و دادههای آن برنامهها و برخی از دادههای حافظهی کش و بافر به رم متکی هستند.
رم باید سازماندهی و مدیریت شود تا برنامهها بتوانند بهراحتی اجرا شوند. هنگامیکه برنامهی جدیدی راهاندازی میشود، باید مکانی آزاد در حافظهی دردسترس باشد تا برنامه روی آن بارگیری و اجرا شود. بههمینترتیب، هنگامیکه از برنامهای خارج میشوید، فضای اشغالشدهی آن باید به سیستمعامل بازگردانده شود.
تا زمانیکه رم آزاد و کافی برای شروع برنامهها دردسترس باشد، همهچیز خوب است؛ اما وقتی حافظهی آزاد وجود نداشته باشد، چه؟ iOS در این شرایط حافظه را چگونه مدیریت میکند؟ اندروید چطور؟
تاریخچهی مختصر مدیریت رم اپل درمقابل اندروید
گوشیهای هوشمند در روزهای اولیهی اندروید و iOS از رم زیادی بهره نمیبردند و تقاوت زیادی در میزان رم گوشیهای آیفون و اندروید وجود نداشت. اچتیسی دریم (HTC Dream) که در سال ۲۰۰۸ معرفی شد، فقط ۱۹۲ مگابایت حافظهی رم داشت و اولین آیفون اپل نیز فقط از ۱۲۸ مگابایت رم بهره میبرد.
آیفون 3G با ۱۲۸ مگابایت حافظهی رم و آیفون 3GS در سال ۲۰۰۹ با ۲۵۶ مگابایت حافظهی رم عرضه شد. میزان رم در آیفون ۴ دو برابر شد و در آیفون ۵ بازهم افزایش یافت. تا سال ۲۰۱۵، آیفونهای اپل با یک گیگابایت حافظهی رم عرضه میشد؛ ولی با معرفی آیفون ۶ اس، حافظهی رم این دستگاه به دو گیگابایت افزایش یافت. سرانجام در سال ۲۰۲۱ آیفون ۱۳ با ۶ گیگابایت حافظهی رم عرضه شد.
میزان رم اندروید درمقابل iOS
در اکوسیستم اندروید، گلکسی اس سامسونگ (از سال ۲۰۱۰) با ۵۱۲ مگابایت حافظهی رم و گلکسی اس ۲ با یک گیگابایت حافظهی رم عرضه شد. گلکسی اس ۳ از سال ۲۰۱۲ مثل گلکسی اس ۴ از سال ۲۰۱۳ با دو گیگابایت حافظهی رم روانهی بازار شد. در اینجا، میبینیم میزان رم در آیفون و دستگاههای اندروید بهطور درخورتوجهی متفاوت است.
سامسونگ در گلکسی اس ۴ از دو گیگابایت حافظهی رم بهره میبرد و این در حالی است که اپل دو سال بعد آیفون ۶ اس را با دو گیگابایت حافظهی رم عرضه کرد. اگر به سال ۲۰۲۱ تا ۲۰۲۲ نگاه کنیم، دستگاههای اندرویدی مثل گلکسی اس ۲۲ اولترا را داریم که از ۱۶ گیگابایت حافظهی رم بهره میبرد.
آیا رم کمتر آیفون یعنی گوشیهای اپل بهینهتر هستند؟
چنین تفاوتی در میزان رم، باعث شده است عبارتهایی مثل اینها را زیاد بشنویم: «آیفونها بهتر بهینه شدهاند» یا « آیفونها بهاندازهی گوشیهای اندرویدی به رم نیاز ندارند». این جملهها درظاهر منطقی بهنظر میرسد؛ اما موضوع به این سادگیها نیست. اینکه گوشیهای اندرویدی از رم بیشتری بهره میبرند، به تصمیم این سیستمعامل برای استفاده از جاوا مرتبط است.
Objective-C/Swift درمقابل Java/Kotlin
هنگامیکه توسعهدهندهای برنامهای را برای iOS توسعه میدهد، برنامهی مدنظر بهطور مستقیم روی کدی کامپایل خواهد شد که میتواند روی پردازندهی آیفون اجرا شود. این یعنی کدها بهطور بومی شناخته میشوند و برای اجراشدن به هیچ محیط مجازی یا مفسر اضافهای نیاز ندارند. همچنین، اندروید در این زمینه متفاوت عمل میکند. همانطورکه گفته شد، اندروید از جاوا استفاده میکند.
هنگامیکه کد جاوا کامپایل میشود، به یک کد میانی مستقل از پردازنده (Java Bytecode) تبدیل میشود. همان بایت کد جاوا میتواند روی یک پردازندهی آرم یا یک پردازندهی x86 یا یک تراشهی مبتنیبر معماری RISC-V اجرا شود. شعار جاوا «یک بار بنویس، همهجا اجرا کن» است که این ویژگی مزیتهای زیادی برای سازگاری بین پلتفرمی دارد.
بااینحال، جاوا یک ضعف دارد: هر سیستمعامل و ترکیب پردازندهای برای اجراشدن به محیطی نیاز دارد که بهعنوان ماشین مجازی جاوا (JVM) شناخته میشود و بایت کد جاوا را درک و آن را به کد اصلی پردازنده تبدیل میکند. این کار دراصل با تفسیر انجام میشود و سپس تکهی بعدی کد خوانده و ادامهی کد به همین روش اجرا خواهد شد.
با گذشت زمان، تکنیکهای مختلفی برای سرعتبخشیدن به این فرایند ابداع شد که ازجمله میتوان به کشکردن تکههای کد قبلی تبدیلشده، کامپایل بهموقع به کد بومی، کامپایل پیش از موعد و... اشاره کرد.
بااینحال، مهم نیست که این تکنیکها چقدر خوب باشند؛ زیرا دو مشکل همچنان باقی میماند: ۱. اجرای کد بومی بهتر از اجرای کد ازطریق JVM است؛ ۲. استفاده از JVM (حتی درصورت استفاده از کامپایلهای پیش از موعد) میزان رم بهکاررفتهی برنامه را افزایش میدهد.
درادامه، جدولی از رم استفادهشدهب برنامههای مختلف در حال اجرا در iOS و اندروید آورده شده است:
بازی | iOS (مگابایت) | اندروید (مگابایت) |
---|---|---|
Subway Surfers | ۵۰۰ | ۷۶۱ |
1945 Airforce | ۵۵۰ | ۸۵۲ |
Candy Crush | ۲۱۹ | ۲۸۹ |
Brawl Stars | ۵۷۲ | ۵۰۷ |
Minecraft | ۴۶۲ | ۸۰۳ |
Asphalt 9 | ۷۴۹ | ۸۰۳ |
Shadowgun Legends | ۱۱۳۰ | ۸۹۹ |
Elder Scrolls Blade | ۱۰۳۰ | ۹۵۲ |
Genshin Impact | ۱۲۷۰ | ۱۴۰۰ |
در اینجا، میتوان مشاهده کرد که برخی از بازیها در اندروید از رم کمتری استفاده میکنند؛ درحالیکه برخی دیگر به رم بیشتر نیاز دارند. بازیهای iOS درمقایسهبا نسخههای اندروید بهطور متوسط ۱۰ درصد رم کمتری مصرف میکنند. این تفاوت استفاده از JVM و رابط کاربری اندروید را درمقایسهبا ساخت بازی با کدهای بومی نشان میدهد.
۱۰ درصد عدد درخورتوجهی است؛ اما زمانی که همهچیز آنقدر بههم نزدیک باشد، باید مواردی مثل نسخههای کامپایلر، وضوح نمایشگر، فشردهسازی، وضوح بافتها، Metal ،Open GL ES و... را نیز بررسی کنیم. نکتهی اصلی این است که میزان رم موردنیاز برای برای گیمرهای اندروید و iOS تقریباً مشابه است.
میزان رم ایدئال برای آیفون چقدر است؟
هنگام مدنظر قراردادن مقدار ایدئال رم برای گوشی هوشمند مهم است که منظور ما از ایدئال چیست. اجرای برنامه در آیفون، حتی در مدلهای قدیمیتر معمولاً روان و بدون مشکل خواهد بود. سؤال این است: چند اپلیکیشن یا بازی میتوانند بهطور همزمان در حافظهی دستگاه باقی بمانند؟ بهعبارتدیگر، بدون نیاز به بارگیری مجدد میتوان بهطور فعال بین چند برنامه جابهجا شد؟ از چند برنامه یا بازی، چند بار در طول روز استفاده میکنید؟
اگر ایمیلی بفرستید، بازی فوری انجام دهید، محتوایی را در رسانههای اجتماعی ارسال کنید و سپس به اپلیکیشن ایمیل بازگردید و متوجه شوید که این اپ دوباره بارگیری میشود، تجربهی کاربریتان ضعیف خواهد بود. این محدودیت خیلی زود باعث ناامیدی کاربر خواهد شد.
«ایدئال» در اینجا تا حدی با نحوهی استفاده شما از آیفون تعریف میشود. بهرهوری؟ بازی؟ رسانههای اجتماعی؟ ویرایش ویدئو؟ عکاسی و... . اگر زمانی که برنامهای را راهاندازی میکنید، حافظهی آزاد کافی دردسترس نباشد، iOS یکی از دو کار را انجام خواهد داد:
۱. سعی میکند برخی از بلوکهای حافظه (به نام صفحات) را فشرده کند که مدتی استفاده نشدهاند. iOS برخی از صفحات را میگیرد و آنها را فشرده میکند و سپس آنها را دوباره در حافظه مینویسد. اگر ۱۲۸ هزار صفحهی واجدشرایط داشته باشید، با فرض فشردهسازی ۵۰ درصدی، میتوان ۱۲۸ هزار صفحه را به ۶۴ هزار فشردهسازی و ۶۴ هزار صفحه را آزاد کرد؛
۲. اگر حافظهی کافی با استفاده از فشردهسازی آزاد نشد، iOS یک برنامه را از رم حذف میکند تا حافظهی آن را بازیابی کند. این فرایند بهعنوان رویداد Jetsam شاخته میشود. اگر به برنامهی حذفشده برگردید، آن اپلیکیشن باید دوباره بارگیری شود.
در اینجا، نمودار زمانی مقدار رم استفادهشده و مقدار رم فشردهشده را مشاهده میکنید؛ زیرا برنامههای مختلف در آیفون SE ۲۰۲۰ با ۳ گیگابایت رم راهاندازی و اجرا میشوند.
iOS در ابتدا فقط حدود ۲۰۰ مگابایت حافظهی رم را فشرده کرده است و کمی بیش از ۲ گیگابایت حافظهی رم در حال استفاده است. سپس با شروع برنامههای مختلف، مقدار رم استفادهشده افزایش پیدا میکند و مقدار رم فشردهشده نیز افزایش مییابد. شما میتوانید اولین افزایش درخورتوجه را با شروع برنامهی Booking.com مشاهده کنید.
هنگامی که گوگل فوتو راهاندازی میشود، ضربهی دیگری وجود دارد و اکنون iOS از بیش از یک گیگابایت حافظهی رم فشرده استفاده میکند. پس از شروع Tasty، بیش از ۱۲ اپلیکشین روی حافظه وجود داشت و هیچکدام حذف نشده بود. برای فشار بیشتر حافظه روی سیستم، اپلیکیشن سافاری در این آزمایش باز و چند وبسایت در تبهای مجزا روی آن بارگذاری شد. در این مرحله، سافاری از ۸۵۰ مگابایت حافظهی رم استفاده کرد و iOS مجبور شد Keynote را از حافظه خارج کند.
همانطورکه اشاره کردیم، بازیها درمقابسهبا اپلیکیشنها از حافظهی بیشتری استفاده میکنند. همان آیفون SE میتواند حدود چهار بازی (Subway Surfers ،Brawl Stars، کندیکراش و 1945AirForce) را همزمان در حافظهی خود نگه دارد. بااینحالَ، شروع بازی پنجم، یعنی آسفالت ۹، باعث شد که iOS دو بازی Subway Surfers و 1945Airforce را کنار بگذارد تا رم موردنیاز برای اجرای بازی جدید دردسترس قرار گیرد.
وقتی رم بیشتر باشد، برنامهها و بازیها کمتر حذف خواهند شد. در اینجا، نموداری برای آیفون ۱۳ پرو (با ۶ گیگابایت حافظهی رم) آورده شده است که نشان میدهد این دستگاه چگونه چندین بازی را در حافظه مدیریت میکند:
آیفون ۱۳ پرو درمقایسهبا آیفون SE میتواند بازیهای بیشتری را بهطور همزمان در حافظهی خود نگه دارد. رم این دستگاه دوبرابر بیشتر از SE است. بازیهای اخیر حجم زیادی دارند و برخی از آنها برای اجرا به بیش از یک گیگابایت حافظهی رم نیاز دارند.
وقتی Genshin Impac روی دستگاه اجرا شد، iOS نمیتوانست صفحات حافظهی بیشتری را فشرده کند. در این مرحله، بیش از دو گیگابایت حافظهی رم از قبل فشرده شده بود؛ بنابراین، مجبور شد 1945Airforce و Subway Surfers و Brawl Stars را از حافظه حذف کند تا بازی جدید اجرا شود.
یکی از جنبههای نهایی که باید در نظر گرفت، آیندهنگری است. Genshin Impac بازی بزرگی است که بیش از ۱٫۲ گیگابایت حافظهی رم در iOS اشغال میکند. این بازی در سال ۲۰۲۰ منتشر شده است و چه کسی میداند در چند سال آینده چه بازیهای سنگین دیگری منتشر خواهند شد. گیمرهای آیفون باید نوعی بافر را در نظر بگیرند و دستگاهی را انتخاب کنند که بیشترین رم ممکن را دراختیار آنها قرار دهد.
نتیجه
برای افرادی که فقط از برنامههای بهرهوری و رسانههای اجتماعی استفاده میکنند، ۳ گیگابایت حافظهی رم روی iOS کافی است. اگر بهدنبال خرید آیفون جدید هستید؛ اما مدل SE را نمیپسندید، باید مدلهای مجهز به ۴ گیگابایت حافظهی رم را انتخاب کنید. اگر فعالیت شما با گوشی هوشمند در حد استفاده از محتوای چندرسانهای باشد، ۴ گیگابایت حافظهی رم برای شما کافی خواهد بود؛ اما میتوانید مدلهای مجهز به ۶ گیگابایت حافظهی رم را هم مدنظر قرار دهید.
اگر گیمر هستید و قصد دارید از گوشی خود تا چند سال آینده استفاده کنید، توصیهی اکید ما این است که آیفونی با ۶ گیگابایت حافظهی رم بخرید.
چه مقدار رم برای اندروید ایدئال است؟
پیشازاین، دیدهایم که اپلیکیشنهای اندروید از نمونههای iOS از رم بیشتری استفاده میکنند. این یعنی سیستمعامل اندروید و اپلیکیشنهای پیشفرض آن نیز از حافظهی بیشتری استفاده میکنند. نتیجه این است که اندروید از همان ابتدا رم بیشتری نیاز دارد.
هنگامی که اندروید برای اجرای اپلیکیشن یا بازی حافظهی کافی دردسترس نداشته باشد، از تکنیکهای بسیار مشابه با تکنیک iOS استفاده میکند. اندروید در این شرایط صفحات حافظه را فشرده میکند. در اندروید، این روش بهعنوان جابهجایی به zRAM شناخته میشود که بهدلیل سُنت یونیکس/لینوکس، استفاده از z برای نشاندادن فشردهسازی است.
گوشی پیکسل با ۴ گیگابایت حافظهی رم میتواند همهی اپلیکیشنها را از جدول بالا (از فروشگاه پلی تا توییتر) اجرا کند و همهی این اپها را در حافظه نگه دارد؛ بنابراین، میتوانید بهطور آزادانه و بدون بارگیری مجدد، بین آنها جابهجا شوید. بااینحال، وقتی در اجرای بازیها در اندروید فقط ۴ گیگابایت حافظهی رم دراختیار داشته باشید، شرایط کمی متفاوت خواهد بود:
گوشی پیکسل ۳ ایکسال از ۴ گیگابایت حافظهی رم بهره میبرد؛ اما فقط ۳۵۷۹ مگابایت از این حافظه دردسترس کاربر است. بهنظر میرسد که این محصول باید با رم ۳٫۵ گیگابایت برچسبگذاری میشد و نه ۴ گیگابایت. توجه کنید که حافظه در اندروید چگونه از همان ابتدا استفاده میشود.
با شروع بازیها، فشردهسازی حافظه (تعویض به zRAM) افزایش مییابد. وقتی Brawl Stars روی این گوشی اجرا شد، بیش از ۱٫۵ گیگابایت از حافظهی رم فشرده استفاده میشود؛ اما این میزان همچنان کافی نیست و بازی Subway Surfers نیز بسته خواهد شد. باوجوداین، داستان برای دستگاههایی مثل گلکسی اس ۲۱ اولترا سامسونگ که از ۱۲ گیگابایت حافظهی رم بهره میبرند، کمی تفاوت دارد:
رم بیشتر یعنی میتوانید تعداد بیشتری بازی را بهطور همزمان روی دستگاه اجرا کنید. همانطورکه مشاهده میکنید، ۱۲ گیگابایت حافظهی رم در اندروید برای گیمرها کافی است. همهی بازیها از Subway Surfers گرفته تا Genshin Impact در حافظهی گلکسی اس ۲۱ اولترا باقی میماند. این گوشی تا زمانی که Shadowgun Legends اجرا شود، از همهی ظرفیت حافظه استفاده نمیکند و سپس مقدار zRAM استفادهشده در آن افزایش یافت.
حتی زمانی که بازیهای نهایی بارگذاری و اجرا میشود، هیچکدام از بازیهای دیگر از حافظه حذف نمیشوند. درواقع، برای مجبورکردن اندروید به حذف یک بازی از حافظه، باید کروم را راهاندازی و ۱۲ تب مجزا روی آن باز کنید. در این شرایط، دستگاه بازی Minecraft را از حافظه حذف میکند.
نتیجه
اگر فقط از تعداد معدودی اپلیکیشن بهطور همزمان استفاده میکنید و اهل وبگردی طولانیمدت نیستید، گوشی اندرویدی با ۴ گیگابایت حافظهی رم برای شما کافی خواهد بود. هنگام خرید گوشی هوشمند معمولی اندرویدی، ۶ گیگابایت حافظهی رم را مدنظر قرار دهید؛ زیرا این مدلها برای افرادی مناسب خواهد بود که از اپلیکیشنهای بهرهوری و رسانههای اجتماعی زیاد استفاده میکنند. این میزان رم برای اجرای بازی در سطح عادی و وبگردی نیز کافی است.
۸ گیگابایت حافظهی رم برای دستگاههای میانرده یا ردهبالای اندرویدی تجربهی چندوظیفهای رضایتبخشی ارائه خواهد کرد. بهرهگرفتن از ۱۲ گیگابایت حافظهی رم در گلکسی اس ۲۱ اولترا، بهوضوح یکی از مزایای این دستگاه برای گیمرها و کاربرانی حرفهای است. همچنین، مجهزبودن به ۱۲ گیگابایت حافظهی رم برای افرادی مناسب بهنظر میرسد که قصد دارند در چند سال آینده نیز از گوشی خود استفاده کنند.
کدام بهتر است: iOS یا اندروید؟
اندروید و iOS هر دو از تکنیک فشردهسازی درون حافظه برای کمک به کاهش مقداری ظرفیت اضافی ازنظر فیزیکی بهره میبرند. دو سیستمعامل این کار را بهسرعت انجام میدهند و هر دو باید حافظهی فشرده را قبل از استفادهی مجدد، از حالت فشرده خارج کنند. عملکرد این دو سیستمعامل ازنظر فناوری تقریباً مشابه است؛ درحالیکه بهطور کلی اندروید پیش از اینکه به حذف اپلیکیشنهای موجود روی حافظه متوسل شود، سعی میکند فشردهسازی بیشتری انجام دهد.
بااینحال، ازآنجاکه iOS از کد بومی و نهزبان میانی، استفاده میکند، اپلیکیشنهای IOS و خود این سیستمعامل سبکتر هستند. این تمایز هنگام پرداختن به بازیها، اهمیت کمتری دارد؛ اما همچنان عاملی بزرگ محسوب میشود. اگر گیمر حرفهای هستید و قصد دارید از گوشی خود در سالهای آینده استفاده کنید، باید حتماً آیفونهای مجهز به ۶ گیگابایت حافظهی رم را مدنظر قرار دهید.
بهطور خلاصه، ۶ گیگابایت حافظهی رم در آیفون ۱۳ پرو برای کاربرانی حرفهای و گمیرها کافی است. اگرچه آیفون ۱۳ پرو در نگهداری برنامهها روی حافظه بهخوبی گلکسی اس ۲۱ اولترا عمل نکرد، باید این نکته را باید مدنظر قرار دهیم که رم اس ۲۱ اولترا دوبرابر آیفون ۱۳ پرو است.
باتوجهبه اینکه اندروید به حافظهی بیشتری نیاز دارد، اگر بهدنبال تجربهای مشابه با تجربهی آیفون مجهز به ۶ گیگابایت حافظهی رم هستید، باید از گوشیهای اندرویدی مجهز به ۸ گیگابایت حافظهی رم استفاده کنید.