میزان مصرف رم در اندروید همواره بالاتر از آی او اس است. اما بیشتر بودن میزان مصرف رم در اندروید نسبت به آیفون و دستگاههای مجهز به iOS چه دلیلی میتواند داشته باشد؟
جنگ میان اندروید و iOS، نبردی پایانناپذیر است که حتی با پیشرفتهتر شدن گوشی های هوشمند، امروز هم وجود دارد. به همین جهت، ما نیز همانند سایرین میخواهیم این دو سیستم عامل را از دیدی متفاوت، مقایسه کنیم.
پیشتر ما به سوالهای مهمی مثل اینکه کدام سیستم عامل امنیت بالاتری دارد، پاسخ داده بودیم. به علاوه، در نظرسنجی برگزار شده توسط گجت نیوز، کاربران به بیان دیدگاههای خود در این رابطه پرداختند. ولی امروز به چیزی اشاره میکنیم که احتمالا بسیاری از افراد به آن دقت نکردهاند: چرا حافظه رم محصولات مجهز به iOS، کمتر از نصف گوشی های اندرویدی است؟
مقایسه میزان مصرف رم در اندروید و آی او اس
برای شروع، ابتدا نگاهی به مشخصات کلی برخی از پرچمداران اندرویدی و آیفون های اپل خواهیم داشت.
اینها از جمله بهترین و قویترین پرچمداران اندرویدی در سال 2017 بودند که هماکنون در دسترس کاربران بوده و توانایی بالایی در پردازش اطلاعات دارند. همانطور که میبینید، گوشی های پیش رو از حافظههای رم بالایی بهره برده و با قیمتی نسبتا زیاد نیز به فروش میرسند. در واقع برای داشتن یکی از این گوشی ها باید چیزی بین 650 تا هزار دلار بپردازید.
برای درک این موضوع که 8 گیگابایت رم تا چه حد میتواند بیش از اندازه باشد، به یاد داشته باشید که حتی بسیاری از لپ تاپ های امروزی هم با چنین حافظه رم بالایی به فروش نمیرسند. به عنوان مثال، اغلب کروم بوک های سال 2017 با 4 گیگابایت رم در اختیار کاربران قرار گرفتند و تنها برخی مدلهای منتخب به 8 گیگابایت رم تجهیز شده بودند. مهمتر از آن، حتی همان کروم بوک هایی که با 8 گیگابایت رم ساخته شدهاند نیز قیمتی پایینتر از برخی از موبایل های اندرویدی دارند!
اگر منصف باشیم، فقط وان پلاس 5T با هشت گیگابایت رم عرضه میشود. ولی هدف ما چیز دیگریست: اگر دستگاههای اندرویدی به چنین میزان رمی نیاز نداشتند، با چنین حجم حافظه بالایی عرضه نمیشدند، درست است؟ علاوه بر این، جدیدترین گوشی های اندرویدی به 4 تا 8 گیگابایت حافظه رم تجهیز میشوند، آنگاه حافظه رم آیفون های اپل چه مقدار است؟
آیا متوجه تفاوت میان حجم حافظه رم گوشی های اندرویدی و آیفون های اپل شدید؟ چرا آیفون ایکس با 3 گیگابایت رم توسعه پیدا کرده است، در حالی که پرچمداران اندرویدی و بعضا گوشی های میان رده مجهز به سیستم عامل گوگل از حداقل 4 گیگابایت رم بهره میبرند؟ علاوه بر این، در مدلهای ضعیفتر و ردهپایینتر همچون آیفون 7 حتی از حافظه 2 گیگابایتی استفاده شده است.
سال 2016 بود که برای نخستین بار در میان گوشی های اپل، آیفون 7 پلاس با حافظه رم 3 گیگابایتی تولید شد. آیفون 7، آیفون 6 اس پلاس و آیفون 6 اس با 2 گیگابایت رم، بدون هیچ مشکلی قادر به اجرای دستورات کاربران هستند. حتی آیفون 6 که توانایی اجرای بدون نقص آی او اس 11 را دارد، 1 گیگابایت رم دارد.
واقعا دلیل چنین اختلافی چیست و چرا دستگاهی که در سال 2014 با 1 گیگابایت رم تولید شده است میتواند آی او اس 11 را اجرا کند، اما حافظه رم گوشی های اندرویدی باید هشت برابر شود؟
چرا دستگاههای اندرویدی به حافظه رم زیادی نیاز دارند؟
از همان ابتدا، اندروید به منظور پشتیبانی از پردازندههای بسیار مختلف، تولیدکنندگان بسیار متنوع و پیکربندیهای سخت افزاری گوناگون طراحی شده بود. عموما سیستم نرم افزاری نوشتهشده برای یک سیستم نمیتواند روی دیگری اجرا شود؛ این پروسه به “پورت کردن” نیاز داشته و اغلب بازنویسی بیتهای ناسازگار را در بر میگیرد.
برای رسیدن به این موضوع، اپلیکیشن های اندرویدی همواره روی پلتفرم جاوا اجرا میشوند. جاوا به لطف ماشین مجازی خود عملکرد بسیار خوبی دارد: شما میتوانید اپلیکیشن را یکبار در جاوا بنویسید و سپس به ماشین مجازی اجازه دهید آن را به کدهای قابل اجرا روی هر سیستم “برگرداند.” در واقع به جای آنکه کاربران به بازنویسی و کامپایل مجدد کدهای خود بپردازند، ماشین مجازی جاوا این موضوع را مدیریت میکند.
این ویژگی نیز همانند بسیاری از چیزهای دیگر، بهای خود را دارد که میتواند میزان مصرف رم در اندروید را توجیه کند.
ماشین مجازی جاوا پیچیده است و به رم زیادی نیاز دارد. البته این موضوع تنها به خاطر مدیریت پروسه خود ماشین مجازی نیست، بلکه حافظه رم به منظور نگه داشتن کدهای اصلی جاوا برای هر نرم افزار در حال اجرا و همینطور کدهای برگردانشده برای اجرا شدن توسط سیستم، مورد نیاز است.
از طرفی، ماشین مجازی در اندروید طی سالهای اخیر بهینهتر شده و همانند گذشته به حافظه رم بالا احتیاج ندارد. از آن سو، اپلیکیشن های اندرویدی روز به روز در حال پیشرفتهتر (و سنگینتر) شدن هستند و بنابراین به حافظه رم بالاتری نیاز دارند. از رم برای پروسههای در حال اجرا در پسزمینه نیز استفاده میشود؛ موضوعی که در سیستم عامل اندروید امری بدیهی است.
در پایان، سیستم عامل اندروید بر پایه روشی با نام “garbage collection” به معنی «زباله روبی» ساخته شده است. در حقیقت، اپلیکیشن ها تشویق میشوند تا هراندازه که نیاز دارند، از حافظه رم استفاده کنند. سپس هر چند وقت یکبار، اندروید اطلاعات موجود در حافظه رم را پاک کرده (همان garbage یا زباله) و با ایجاد فضای خالی، به سایر اپلیکیشن ها اجازه میدهد از آن استفاده کنند. این روش اگرچه موثر است، اما در صورت وجود حافظه رم بالا عملکردی ایدهآل خواهد داشت. در غیر این صورت، سیستم زمان زیادی را صرف جمعآوری زبالهها خواهد کرد.
چرا آی او اس به اندازه اندروید، به رم نیاز ندارد؟
پیشتر گفتیم پشتیبانی از انواع مختلف تولیدکنندگان، پردازندهها و پیکربندی های سخت افزاری سبب بالا رفتن میزان مصرف رم در اندروید میشود. اما اپل کنترل بسیار بیشتری بر اکوسیستم آی او اس دارد. اگر شما بخواهید از iOS استفاده کنید، تنها یک گزینه پیش روی شما قرار دارد: آیفون. اگر شما بخواهید اپلیکیشن های مبتنی بر آی او اس را تولید کنید، آنگاه باید از ابزارهای اپل استفاده کرده و این کار را به روش اپل انجام دهید. اپل قوانین سختگیرانه را برای این موضوع در نظر گرفته است.
هرچند، این حالت هم فواید بسیاری دارد.
به دلیل اینکه اپل مشخصات فنی “دقیق” تکتک دستگاههایی که از سیستم عامل آن استفاده میکنند را میداند، مهندسان میتوانند تصمیمات طراحی را همسو با آنها بگیرند. به عنوان مثال، در حالی که لازم است اندروید از انواع مختلف پردازندهها پشتیبانی کند، آی او اس همواره روی سخت افزار مبتنی بر ARM کار میکند.
با این تفاسیر، آی او اس همانند دستگاههای اندرویدی به ماشینی مجازی برای برگردان کردن کدها احتیاج ندارد. تمامی اپلیکیشن ها به یک شیوه کامپایل شده و کدهای آنها مستقیما روی سخت افزار اجرا میشوند. عدم نیاز به ماشین مجازی به معنی نیاز کمتر به حافظه رم است.
علاوه بر این، آی او اس رویکردی متفاوت برای مدیریت رم دارد. در حالی که حافظه اندروید توسط سیستم عامل کنترل میشود، حافظه آی او اس توسط خود اپلیکیشن ها کنترل شده و به جای آنکه نرم افزارها خودشان حافظه را اشغال کرده و سپس آن را آزاد کنند، اپلیکیشن های آی او اس مطابق با نیاز خود از آن استفاده میکنند.
به صورت خلاصه، کمتر بودن حافظه رم در گوشی های آیفون به معنی عملکرد ضعیفتر آنها نیست. آی او اس رویکردی متفاوت در مدیریت حافظه داشته و همانند اندروید، نیازی به ماشین مجازی ندارد. در نتیجه میزان مصرف رم در اندروید بالاتر خواهد بود.