اگر با خود فکر میکردید که امسال میزان حافظه رم در گوشیهای هوشمند افزایش پیدا نمیکند، کافیست به گلکسی S20 اولترا نگاهی بیندازید. وان پلاس 7T پرو و ایسوس ROG فون ۲، جهش رم از ۸ به ۱۲ گیگابایت را آغاز کردند. به همین دلیل دیر یا زود شاهد رم ۱۶ گیگابایت نیز میبودیم. خوشبختانه برای دیدن رم ۱۶ گیگابایتی زیاد منتظر نماندیم، چرا که سامسونگ در گرانترین پرچمدار خود، از ۱۶ گیگابایت حافظه رم بهره برده است. اما آیا هیچ گاه به این میزان رم نیاز خواهیم داشت؟
پیش از این که به سراغ رم ۱۶ گیگابایتی رم گلکسی S20 اولترا برویم، اجازه دهید نحوه مدیریت حافظه رم در سیستمعامل اندروید را مرور کنیم.
برای پاسخ دادن به این سوال باید ببینیم اصلا اندروید، یا کمی که به عمق آن برویم، لینوکس، چگونه با برنامهها برخورد میکند. زمانی که شما روی آیکن برنامهای ضربه میزنید، اندروید یک فرایند را تعریف میکند که آن برنامه را اجرا کند. اجرای اپ و فرایند به صورت همزمان اتفاق میافتند. قدم بعدی، مربوط به کرنل لینوکس است که منابع را مدیریت کند. این منابع شامل زمان CPU و رمی است که سیستمعامل باید برای اجرای این برنامه اختصاص دهد. در نهایت نیز کرنل اطمینان حاصل میکند که برنامه تمام منابع مورد نیاز خود را دریافت میکند.
اگر منابع کافی در اختیار برنامه قرار گیرد، کرنل میتواند باقی منابع را به برنامههای دیگر اختصاص دهد. با این حال مشکلات زمانی به وجود میآیند که منابع کافی برای اجرای برنامهها در دسترس نیست. در صورتی که زمان اختصاص داده شده CPU برای اجرای برنامه کم باشد، قدرت اجرا کاهش مییابد. برنامهای که کاربر میخواهد اجرا کند، همچنان اجرا خواهد شد ولی با لگ و کندی همراه است و روانی سابق را نخواهد داشت.
اوضاع زمانی وخیم میشود که مموری یا همان رم به میزان کافی در اختیار برنامه قرار نگیرد. در این حالت صبر کردن و کاهش سرعت اجرای برنامه، توفیقی نخواهد داشت، زیرا با این کار رم بیشتری آزاد نخواهد شد. از همین رو کرنل باید فکر دیگری کند تا رم را برای اجرای برنامه در اختیار سیستمعامل قرار دهد. اندروید برای این کار دو روش متفاوت را در نظر گرفته است.
اولین روش این است که دادههای نوشته شده روی رم را جایگزین کنیم که به آن zRAM میگویند. اندروید میتواند بخشی از رم را به حافظه فیزیکی اختصاص دهد تا عمل جایگزینی صورت گیرد. به این جایگزینی سواپینگ (Swapping) نیز گفته میشود. ایده سواپینگ در ابتدا توسط لینوکس در پیسیها و سرورها پیادهسازی شد. زمانیکه مموری اصلی به کار گرفته میشود، آخرین صفحات از مموری، جایی خارج از دیسک نوشته میشوند و فضایی که پیش از این در مموری اشغال کرده بودند، آزاد میشود تا به دیگر فرایندها اختصاص داده شود. اگر مموری سواپ شده بار دیگر فراخوانده شود، دادهها دوباره روی دیسک نوشته میشوند تا دوباره از آنها استفاده شود. به عمل خارجسازی دادهها سواپ اوت (Swap Out) و به عمل وارد کردن دوباره آنها به فرایند، سواپ این (Swap In) گفته میشود.
کاری که اندروید نمیتواند انجام دهد، سواپ کردن دادهها روی حافظه داخلی گوشی است. حافظههای داخلی گوشیهای هوشمند عموما از نوع فلش (Flash Storage) هستند که عمر خواندن و نوشتن محدودی دارند. ممکن است شما هیچگاه با حذف و اضافه کردن عکس، فیلم و بازی به حافظه داخلی گوشی، آن را به پایان عمرشان نزدیک نکنید، ولی اگر قرار بر این باشد که برنامهها هم مکررا روی حافظه داخلی خواندن و نوشتن دادهها را انجام دهند، طولی نمیکشد که حافظه داخلی شما از بین میرود.
اندروید برای رفع این مشکل، مموری را فشرده میکند و دادهها را در بخش دیگری از رم مینویسد، جایی که به آن حافظه رزرو یا zRAM میگویند. «z» در اینجا از فرمت «z.» گرفته شده که عموما با فشردهسازی دادهها (Zip کردن) شناخته میشود. برای مثال اگر فرض کنیم اندروید ۵۰ درصد از رم را فشرده میکند، ۱۲۸ کیلوبایت رم به ۶۴ کیلوبایت تقلیل مییابد و در عوض ۶۴ کیلوبایت از حافظه آزاد میشود. این کار معادل سواپ اوت کردن برنامهها به دیسک فیزیکی (همان حافظه داخلی) است.
البته مموری فشرده شده، مستقیما در دسترس نیست. در نتیجه اگر اندروید دوباره به دادههای فشردهشده نیاز داشته باشد، باید آنها را از حالت فشرده خارج کند و دوباره روی مموری بنویسد. این کار همان سواپ این (Swap In) کردن است. با این وجود اگر میزان کافی از رم توسط zRAM آزاد نشود، یا این که سازنده گوشی اندروید از این روش استفاده نکند، کرنل مجبور است کمی ناملایمتر رفتار کند و برنامهها و فرایندها را از حافظه رم خارج کند.
در این حالت اپلیکیشنی که منابع زیادی درخواست کند، مثلا اپی که به تازگی اجرا شده باشد، برنامه اصلی در نظر گرفته میشود. سیستمعامل تصور میکند که کاربر بیشتر نگران اجرا شدن روانتر برنامهای است که به تازگی اجرا کرده و در نتیجه برنامههای قدیمیتری که اجرا کردهاید را از مموری حذف میکند تا منابع لازم برای اجرای بینقص برنامه اصلی را در اختیار آن بگذارد.
برای مثال گر بازی Temple Run را ۳ روز پیش اجرا کردهاید و از آن خارج شدید و هیچگاه هم دوباره وارد برنامه نشدهاید، اندروید فرض میکند که دیگر احتیاجی به آن برنامه ندارید و به همین دلیل آن را از مموری خارج میکند. پس از خارج شدن Temple Run، حافظهای که اشغال کرده بود به فرایندهای مهمتر دیگر (برنامهای که به تازگی اجرا کردید) اختصاص داده میشود.
با این حال توسعهدهندهها میدانند که بالاخره برنامه آنها ممکن است از مموری خارج شود، در نتیجه آنها معمولا قابلیتی را در برنامهها خود قرار میدهند که همواره آخرین تغییرات وارد شده به آن توسط کاربر را ذخیره میکند. در نتیجه اگر بازی شما از مموری خارج شد، پیشرفت شما در آن بازی ذخیره شده است. همچنین با لود شدن دوباره برنامه و وارد شدن به آن، دادههای قبلی برایتان نمایش داده شود. به عبارت دیگر انگار شما هیچ وقت از برنامه خارج نشدهاید.
بدترین حالت اینجاست یک برنامه که احتمالا بازی است، اجرا شود و به تبع آن، چندین برنامه از رم خارج شوند تا منابع لازم برای اجرای آن تامین شود. این رفتار در تمامی سیستمعاملها قابل انتظار است، اما فاکتوری به نام «فاکتور مزاحمت» وجود دارد. در این حالت کاربر با هر بار تعویض برنامه، آن را وادار میکند تا دادههای ذخیرهشده خود پیش از خارج شدن از مموری را بارگذاری کند. این حالت، یک رفتار طبیعی بوده و زمانی رخ میدهد که شما بخواهید دادههای زیادی را در فضای رم کم، لود کنید.
عقیدهای وجود دارد که میگوید اگر شما پول زیادی بابت گوشی گرانقیمت پرداخت کند، فاکتور مزاحمت را به حداقل میزان ممکن میرسانید. دلیل آن این است که گوشیهای گرانقیمت بازار عموما حافظه رم بالایی دارند. البته آیفون در این جا مثال نقض بوده، زیرا تنها ۴ گیگابایت حافظه رم دارد. با این حال سوالی که پیش میآید این است که چقدر حافظه رم کافیست؟
در حالت کلی اگر بخواهیم مثالی برایتان بزنیم، برنامههای معمولی و روزمره شما (اینستاگرام، واتساپ و تلگرام) چیزی در حدود ۴۰۰ مگابایت رم نیاز خواهند داشت. البته این یک تخمین کلی است و قطعا برخی از برنامهها، حافظهای کمتر و برخی به حافظه بیشتری نیاز دارند. بنابراین اگر دستگاه شما ۶ گیگابایت رم دارد که پس از راهاندازی مجدد گوشی، ۳.۵ گیگابایت آن را در اختیارتان میگذارد، میتوانید حدود ۹ برنامه مختلف را با هم اجرا کنید و مطمئن باشید که هیچ برنامهای از رم خارج نمیشود. این بدان معنا خواهد بود که شما به سادگی و آزادانه میتوانید بین چند برنامه سوشال، ایمیل و چند بازی سبک جا به جا شوید و هیچگاه بارگذاری مجدد برنامه را از نزدیک نبینید.
با این حال در اندروید چندین برنامه منابع کُش وجود دارد. برای مثال آسفالت ۹، ریل ریسینگ ۳ و فورتنایت در این دسته از برنامهها جای میگیرند. هر کدام از این برنامهها به سادگی میتوانند بین یک تا ۱.۴ گیگابایت رم اشغال کنند. در نتیجه با اجرای هر کدام از این برنامهها، چندین برنامه دیگر شما باید از مموری خارج شوند تا منابع لازم برای اجرای روان این بازیها تامین شود. اگر با خود فکر میکنید که ۱.۴ گیگابایت رم بسیار زیاد است، باید بگوییم که فورتنایت گاهی حتی تا ۱.۷ گیگابایت رم نیز درخواست میکند.
اگر گوشی شما ۸ گیگابایت حافظه رم داشته باشد، به احتمال زیاد ۵ گیگابایت آن در اختیارتان خواهد بود. در نتیجه شما میتوانید یک بازی سنگین و ۱۰ برنامه را همزمان اجرا کنید. مثلا قادر خواهید بود از بازی خارج شوید و بین چند برنامه سوشال به گشت و گذار بپردازید، سپس چند ایمیل برای همکارتان ارسال کنید، به برنامه سوشال دیگری بروید، به شخصی پیام ارسال کنید، چند مقاله در دیجیتال بخوانید، وضعیت آب و هوای روز بعد را ببینید و در نهایت دوباره به بازی خود برگردید و در این بین به هیچ مشکلی بر نخورید.
به عقیده بسیاری، ۸ گیگابایت رم نقطهای بهینه برای میزان رم در گوشیهای اندروید است. برنامههای معمول شما به خوبی در حافظه میمانند، و مولتی تسکینگ را روانتر از همیشه میکنند. حتی میتوانید یک بازی منابع کُش را نیز اجرا کنید و هیچگاه شاهد بارگذاری مجدد دیگر برنامهها نباشید. با ۱۲ گیگابایت رم اما اوضاع فرق میکند. شما در این حالت حداقل ۸ گیگابایت حافظه خالی خواهید داشت. به عبارت دیگر میتوانید یک دو جین برنامه و بازی به همراه دو بازی منابع کُش را به صورت همزمان اجرا کنید و شاهد خارج شدن هیچکدام از آنها از رم نیز نباشید؛ یعنی میتوانید فورتنایت بازی کند، بلافاصله به اپ دوربین بروید و چندین عکس بگیرید، آنها را در اینستاگرام به اشتراک بگذارید، یک فیلم تماشا کنید، به موزیک گوشی دهید، محصولی از دیجی کالا خریداری کنید، ویدیو بررسی دیجیتال از گوشی مورد علاقه خود را در آپارات تماشا کنید و دوباره به فورتنایت برگردید، در حالی که همه برنامهها هنوز در مموری باقی ماندهاند.
اما برسیم به سوال اصلی خودمان. کسی هست که بتواند از ۱۶ گیگابایت حافظه رم گلکسی S20 اولترا حداکثر استفاده را کند؟ عملا بله ولی آیا آنها متوجه میشوند که این مقدار رم را اشغال کردهاند؟ بیاید با هم حساب کتاب کنیم: فورتنایت + آسفالت ۹ + ریل ریسینگ ۳ میشود ۳.۷ گیگابایت رم. با این وجود اگر حتی هر ۳ این بازیها را با هم اجرا کنید نیز باز هم ۸ الی ۹ گیگابایت رم خالی خواهید داشت. این میزان رم برای اجرا کردن همزمان ۲۰ برنامه مختلف کافیست؛ یعنی برنامههای سوشال، پخش محتوا، ویرایش عکس، بازیهای سبک، برنامههای مدیریت منابع مالی، چندین برنامه پایش سلامتی و حتی چندین برنامه دیگر.
تا پیش از این تصور میشد که ۱۲ گیگابایت رم بسیار زیاد است، اما ۱۶ گیگابایت رم واقعا دنیای دیگری را پیش روی شما قرار میدهد. درست است که گلکسی S20 اولترا بخش محدودی از بازار پرچمداران را هدف قرار داده، بازاری که خود بخش محدودی از بازار کلی موبایلهای هوشمند را تشکیل میدهد، ولی آیا کاربران این گوشی واقعا تفاوت اجرا کردن همزمان دو بازی سنگین و ۱۰ برنامه دیگر با رم ۱۲ گیگابایتی و اجرای همزمان ۳ بازی سنگین و ۲۰ برنامه دیگر در رم ۱۶ گیگابایتی را «احساس» میکنند؟
بعید میدانیم این گونه باشد. با این حال سامسونگ حالتی نادر و انحصاری از مدیریت رم در این گوشی تعبیه کرده است که به آن سنجاق کردن اپ یا «App Pinning» میگوید.
سنجاق کردن اپ به کاربر اجازه میدهد تا اپلیکیشنهای مشخصی را همواره در حافظه رم نگه دارد و تنها زمانی آنها را از مموری خارج کند که شدیدا و اکیدا به حافظه اشغال شده توسط آنها نیاز مبرم داشته باشد. شما به عنوان کاربر گلکسی S20 اولترا میتوانید تا ۵ برنامه و بازی را به مموری سنجاق کنید. ایده پشت این قابلیت این است که شما به عنوان یک گیمر کارکشته، همواره از آماده بودن بازی فورتنایت اطمینان داشته باشد. یا این که اگر مدیر بخش سوشال شرکتی با مخاطبان بالا هستید، بتوانید برنامههای مختلف سوشال خود را به حافظه رم سنجاق کنید تا همواره در دسترستان باشد. این ایده بسیار کاربردی بوده و امیدواریم که به صورت استاندارد در دیگر گوشیهای اندرویدی نیز اجرا شود و تنها آن را در گوشیهایی با حافظه رم بالا و نامتعارف نبینیم.
با این حال شاید تنها دلیلی که رم گوشی شما از یک لپ تاپ معمولی ویندوزی بیشتر باشد نیز همین ماندن برنامهها در مموری باشد. این کار باعث نمیشود که برنامهها سریعتر اجرا شوند، یا این که رابط کاربری سرعت بیشتری داشته باشد. این کار سرعت پردازش گرافیکی بازیها را افزایش نمیدهد یا این که شارژدهی باتری را بیشتر نمیکند. این کار حتی سرعت دانلود و شارژ شدن گوشی شما را هم بهبود نمیدهد. تنها کاری که سنجاق کردن برنامههای انجام میدهد، حذف زمان بارگذاری ۱.۱ ثانیهای است که اینستاگرام برای لود شدن نیاز دارد و باعث میشود که شما به خاطر فورتنایت، مجبور نباشید برنامهای را از مموری بیرون بیندازید.
شاید این دلایل برای شما کافی باشد، اما پیش از این که حداقل 20 میلیون تومان (بدون پول رجیستری، مالیات بر ارزش افزوده، دلال، گارانتی و شیرینی بچهها) پرداخت کنید، مطمئن شوید که به ۱۶ گیگابایت رم گلکسی S20 اولترا نیاز دارید یا نه.
پاسخ ها