چرا دستگاه های iOS از رم کمتری نسبت به دستگاه های اندوریدی استفاده می کنند؟
جنگ بین اندروید و iOS همیشه از قدیم وجود داشته و هم چنان نیز ادامه دارد. با این که دلایل قانع کننده برای انتخاب هر یک از آن ها وجود دارد اما مردم (از جمله خود ما) دست از مقایسه این دو برنمی دارند. iOS و اندروید از زوایای زیادی با هم قابل مقایسه هستند اما یکی از این موارد آن است که دستگاه های iOS تقریبا نصف (یا کمتر) دستگاه های اندروید رم مصرف می کنند. در این مقاله آموزشی قصد داریم به چرایی این موضوع بپردازیم.
مقایسه رم در آیفون و اندروید
در این مقاله ما به برخی از جدیدترین گوشی های اندرویدی نگاهی خواهیم انداخت و آن ها را با گوشی های آیفون ۸، آیفون ۸ پلاس و آیفون ایکس مقایسه خواهیم کرد.
این گوشی ها جز بهترین دستگاه های اندرویدی حال حاضر هستند. همان طور که مشاهده می کنید میزان رم این گوشی ها بسیار بالا است و شما باید هزینه زیادی نیز بابت آن ها بپردازید. چیزی در حدود ۶۵۰ تا ۱۰۰۰ دلار.
برای این که بهتر بتوانید به میزان بالا بودن رم این گوشی ها پی ببرید کافی است بدانید که حتی بیشتر لپ تاپ های مدرن امروزی نیز دارای این میزان از رم نیستند. به عنوان مثال بیشتر کروم بوک های سال ۲۰۱۷ دارای چهار گیگابایت رم هستند و فقط برخی از مدل های آن به رم هشت گیگابایت مجهز می باشند. حتی آن کروم بوک هایی که هشت گیگابایت رم دارند نیز هنوز از این دستگاه های اندرویدی ارزان تر هستند.
اگر بخواهیم منصفانه به قضیه نگاه کنیم فقط OnePlus 5T با رم هشت گیگ عرضه شده است. اما موضوع اصلی این جا است که حتما گوشی های اندرویدی به این میزان از رم احتیاج دارند که چنین گوشی هایی با چنین رم هایی تولید می شود. و اگر طبق آمار جدیدترین گوشی های اندرویدی به رم ۴ تا ۸ گیگابایت مجهز باشند بنابراین گوشی های آیفون از چه میزان رم استفاده می کنند؟
یک لحظه صبر کنید! در میان آخرین مدل های آیفون ما شاهد دو گیگابایت رم در آیفون ۸، سه گیگابایت رم در آیفون ۸ پلاس و سه گیگابایت رم در جدیدترین مدل گوشی این کمپانی یعنی آیفون ایکس هستیم. این یعنی جدیدترین مدل آیفون مقدار رم کمتری از جدیدیترین گوشی های اندرویدی دارند.
البته این موضوع چیز جدیدی نیست. آیفون ۷ پلاس نیز با رم سه گیگابایت در سال ۲۰۱۷ عرضه شد. گوشی های آیفون ۷، آیفون ۶ اس پلاس و آیفون ۶ اس نیز همگی از رم دو گیگابایتی بدون هیچ گونه مشکلی استفاده می کنند. و البته بد نیست بدانید که آیفون ۶ نیز که می تواند مانند سایر گوشی های جدید اپل iOS 11 را اجرا کند تنها از یک گیگابایت رم استفاده می کند.
مواقعا دلیل این موضوع چیست؟ چطور آیفون ۶ که متعلق به سال ۲۰۱۴ است می تواند آخرین نسخه از iOS را با یک گیگابایت رم اجرا کند در حالی که گوشی های اندرویدی که از آخرین نسخه اندروید استفاده می کنند به حدود شش برابر بیشتر رم نیاز دارند؟
چرا دستگاه های اندرویدی به رم بسیار زیادی نیاز دارند؟
از سال قبل، اندروید به گونه ای طراحی شده بود که انواع پردازنده های مختلف، تولیدکنندگان متفاوت و سخت افزارهای گوناگون را پشتیبانی کند. به طور معمول نرم افزاری که برای یک سیستم نوشته می شود، نمی تواند بر روی سیستم دیگر اجرا شود و باید مجددا بخش هایی از آن دوباره نوشته شود.
اندروید برای رهایی از این مشکل همیشه بر روی پلتفرم جاوا اجرا شده است. جاوا به دلیل ماشین مجازی که دارد عالی است. شما می توانید یک اپلیکیشن را یک بار در جاوا بنویسید و سپس ماشین مجازی آن کد را در زمان اجرا ترجمه می کند تا بر روی هر سیستمی که بر روی آن قرار دارد اجرا شود. در واقع به جای این که شما خودتان مجددا کد را از نو بنویسید و کامپایل کنید ماشین مجازی جاوا این کارها را برای شما انجام می دهد.
اما این کار هزینه بردار است. ماشین مجازی جاوا پیچیده است و نیاز به رم زیادی دارد. نه تنها برای مدیریت فرایندهای مربوط به ماشین مجازی بلکه به منظور نگهداری کد جاوای اصلی هر اپلیکیشنی که در حال اجرا شدن است بعلاوه کد ترجمه شده ای که توسط سیستم اجرا شده است.
از طرفی ماشین مجازی در اندروید در طول سال ها بهبود یافته است و دیگر به اندازه قدیم به رم نیاز ندارد. از طرف دیگر اپلیکیشن های اندرویدی روز به روز پیشرفته تر می شوند و در نتیجه به میزان رم بیشتری نیاز دارند. البته برای اجرای فرایندها در پس زمینه نیز به رم احتیاج است که این مسئله در مورد اپلیکیشن های اندرویدی متداول است.
هم چنین، سیستم عامل اندروید به وسیله متدی به نام garbage collection نوشته شده است. کار این متد به این شکل است که اپلیکیشن های اندرویدی تا جایی که به رم نیاز دارند از آن استفاده می کنند، سپس هر چند وقت یک بار، سیستم عامل اندروید داده هایی را که در رم وجود دارند و دیگر توسط هیچ اپلیکیشنی استفاده نمی شوند پاک می کند و رم را آزاد می سازد و با این کار به اپلیکیشن های دیگر اجازه می دهد تا از رم استفاده نمایند. اگرچه این شیوه موثر است اما زمانی به عنوان بهینه ترین روش محسوب می شود که مقدار زیادی رم وجود داشته باشد، در غیر این صورت سیستم همیشه باید زمان زیادی را صرف جمع آوری داده ها و حذف آن ها از حافظه رم نماید.
به خاطر همین مسایل اگر تمایل دارید که گوشی شما به خوبی عمل کند ما حداقل چهار گیگابایت رم را برای اندروید پیشنهاد می کنیم. اگر تهیه این مقدار برای شما مقدور نیست، در نتیجه دو گیگابایت باید به عنوان حداقل رم در نظر گرفته شود.
چرا iOS به میزان اندروید رم مصرف نمی کند؟
اپل کنترل بسیار بیشتری را بر روی کل سیستم عامل خود اعمال می کند. اگر شما قصد دارید از iOS استفاده کنید در نتیجه شما فقط یک حق انتخاب دارید. آیفون! اگر شما تصمیم دارید تا اپلیکیشن های iOS بسازید، در نتیجه نیاز است تا از ابزارهای اپل و شیوه های اپل استفاده کنید. البته مزایای زیادی در این میان نیز وجود دارد.
از آن جایی که اپل به خوبی مشخصات تک تک دستگاه هایی را که سیستم عامل او را اجرا می کنند، می داند درنتیجه می تواند در طراحی iOS خود نیز تصمیمات بهتری بگیرد. به عنوان مثال در حالی که اندروید نیاز به پشتیبانی از چندین پردازنده مختلف دارد، iOS همیشه بر روی سخت افزارهای مبتنی بر ARM اجرا می شود.
بنابراین iOS به ماشین مجازی به منظور ترجمه کردن کدها مانند اندروید ندارد. تمام اپلیکیشن ها به کد بومی اپل کامپایل می شوند و آن کد نیز مستقیما بر روی سخت افزار اجا می شوند. بنابراین عدم نیاز به ماشین مجازی به معنای استفاده میزان بسیار کمتری از رم است.
علاوه براین، iOS دارای دیدگاه متفاوتی برای مدیریت حافظه است. در حالی حافظه اندروید توسط سیستم عامل مدیریت می شود، حافظه iOS توسط خود اپلیکیشن ها مدیریت می شود. هم چنین همان طور که پیش تر گفته شد در اپلیکیشن های اندروید تا جایی که نیاز داشته باشند رم را اشغال می کنند و سپس در صورتی که فضای رم اشغال شده دیگر مورد نیاز نباشد، اندروید آن را آزاد می کند. اما در iOS این خود اپلیکیشن ها هستند که عمل اختصاص و آزادسازی فضای حافظه رم را انجام می دهند.
در پایان باید بگوییم که اگر گوشی های آیفون دارای رم کمتری هستند این بدان معنا نیست که عملکرد آن ها نسبت به گوشی های اندرویدی ضعیف تر است. iOS دیدگاه متفاوتی در مدیریت حافظه دارد زیرا همانند اندروید به ماشین مجازی وابسته نیست.