بستن آگهی

مقدار ایده‌آل رمی که گوشی‌ها برای چندوظیفگی روان به آن نیاز دارند، موضوعی کاملاً مورد بحث است. اپل با اندازه کوچک‌تر آیفون‌هایش کنار می‌آید که اغلب از راه‌حل‌های اندرویدی قابل استفاده‌تر است. همچنین هیچ نوع مدیریت حافظه رم را در آیفون پیدا نخواهید کرد، در حالی که اندروید عملکرد اختصاصی خود را برای این کار دارد. 

اگر مثلاً در گوشی های Samsung Galaxy به ناستاونی -> مراقبت از دستگاه، یک نشانگر RAM را در اینجا خواهید یافت که اطلاعاتی در مورد میزان فضای خالی و اشغال شده است. پس از کلیک بر روی منو، می توانید ببینید که هر برنامه چقدر حافظه می گیرد و همچنین می توانید در اینجا حافظه را پاک کنید. عملکرد RAM Plus نیز در اینجا قرار دارد. معنی آن این است که مقدار مشخصی گیگابایت را از حافظه داخلی که برای حافظه مجازی استفاده می کند، حذف می کند. آیا می توانید چنین چیزی را در iOS تصور کنید؟

گوشی های هوشمند به رم متکی هستند. به آنها برای ذخیره سیستم عامل، راه اندازی برنامه ها و همچنین ذخیره برخی از داده های آنها در حافظه پنهان و بافر خدمت می کند. بنابراین، رم باید به گونه ای سازماندهی و مدیریت شود که برنامه ها بتوانند به راحتی اجرا شوند، حتی اگر آنها را در پس زمینه رها کنید و پس از مدتی دوباره باز کنید.

سویفت در مقابل جاوا 

اما هنگام راه اندازی یک برنامه جدید، برای بارگذاری و اجرای آن باید فضای خالی در حافظه داشته باشید. اگر اینطور نیست، مکان باید تخلیه شود. بنابراین سیستم به اجبار برخی از فرآیندهای در حال اجرا را خاتمه می دهد، مانند برنامه هایی که قبلاً شروع شده اند. با این حال، هر دو سیستم، یعنی اندروید و iOS، با RAM متفاوت کار می کنند.

سیستم عامل iOS به زبان Swift نوشته شده است و آیفون ها در واقع نیازی به بازیافت حافظه استفاده شده از برنامه های بسته به سیستم ندارند. این به دلیل نحوه ساخت iOS است، زیرا اپل کنترل کامل آن را دارد زیرا فقط روی آیفون های خود اجرا می شود. در مقابل، اندروید به زبان جاوا نوشته شده است و در بسیاری از دستگاه ها استفاده می شود، بنابراین باید جهانی تر باشد. هنگامی که برنامه خاتمه می یابد، فضای اشغال شده به سیستم عامل بازگردانده می شود.

کد بومی در مقابل JVM 

هنگامی که یک توسعه دهنده یک برنامه iOS را می نویسد، آن را مستقیماً در کدی کامپایل می کند که می تواند روی پردازنده آیفون اجرا شود. این کد کد بومی نامیده می شود زیرا برای اجرا نیاز به تفسیر یا محیط مجازی ندارد. از طرف دیگر اندروید متفاوت است. هنگامی که کد جاوا کامپایل می شود، به کد میانی بایت کد جاوا تبدیل می شود که مستقل از پردازنده است. بنابراین می تواند بر روی پردازنده های مختلف از تولید کنندگان مختلف اجرا شود. این مزایای زیادی برای سازگاری بین پلتفرم دارد. 

البته یک نکته منفی هم دارد. هر ترکیب سیستم عامل و پردازنده به محیطی به نام ماشین مجازی جاوا (JVM) نیاز دارد. اما کد بومی بهتر از کدهای اجرا شده از طریق JVM عمل می کند، بنابراین استفاده از JVM به سادگی میزان RAM استفاده شده توسط برنامه را افزایش می دهد. بنابراین برنامه های iOS به طور متوسط ​​40 درصد از حافظه کمتری استفاده می کنند. همچنین به همین دلیل است که اپل مجبور نیست آیفون های خود را به اندازه دستگاه های اندرویدی به رم مجهز کند. 

.