تصور کنید اپلیکیشنی را باز میکنید و گوشی شما بیسروصدا تصمیم میگیرد که آن برنامه دیگر شایسته استفاده از حافظه نیست. پاکسازیهای خاموش. توقفهای ناگهانی. همین واقعیتی است که گوگل میخواهد با وادار کردن توسعهدهندگان به بازنگری در نحوه مصرف رم توسط اپلیکیشنهای اندروید از آن جلوگیری کند.
اندروید ۱۷ قوانین سختگیرانهتری به همراه دارد: اپها باید روی دستگاههایی با حافظه محدود درست و بهینه رفتار کنند، وگرنه سیستم وارد عمل میشود. گوگل یک جدول زمانی روشن تعیین کرده است؛ توسعهدهندگان تا فوریه ۲۰۲۷ فرصت دارند ردپای مصرف رم را کاهش دهند و اپلیکیشنها را برای طیف گستردهتری از سختافزارها سبکتر کنند. هدف ساده و کاملا عملی است: قابل استفاده نگه داشتن گوشیهای میانرده و اقتصادی بدون آنکه تولیدکنندگان مجبور شوند حافظه بیشتری اضافه کنند یا قیمتها را بالا ببرند.
توسعهدهندگان برای زنده ماندن اپلیکیشن خود چه کارهایی باید انجام دهند
از پروفایلگیری شروع کنید. از ابزارهای تحلیل حافظه استفاده کنید و برنامه را روی دستگاههای ۴ گیگابایتی و پایینتر آزمایش کنید. به دنبال آبجکتهای بزرگی بگردید که بیش از حد لازم در حافظه باقی میمانند. پرسشهای جدی مطرح کنید: کدام سرویسهای پسزمینه واقعا ضروری هستند؟ کدام داراییها را میتوان به جای بستهبندی داخل برنامه، به صورت استریم دریافت کرد؟ با حافظه مثل یک منبع محدود برخورد کنید، نه یک گزینه ساده برای تیک زدن.
تصاویر بخش زیادی از رم را میبلعند. در صورت مناسب بودن، به سراغ پایپلاینهای مدرن تصویر و فرمتهایی مانند AVIF یا WebP بروید، تصاویر را دقیقا در همان اندازهای که نمایش میدهید دیکد کنید و بارگذاری در زمان نیاز را ترجیح دهید. از بازاستفاده بیتمپها با دقت استفاده کنید و وقتی نماها از صفحه خارج میشوند، حافظه تصویر را سریع آزاد کنید. تخصیص پویای حافظه کمک میکند: ساختارهای سنگین را فقط زمانی ایجاد کنید که لازم هستند و بلافاصله پس از استفاده آزادشان کنید.

حجم کد هم اهمیت دارد. گوگل انتظار دارد توسعهدهندگان حجم کد اپلیکیشن را در مقایسه با نسخههای قبلی تا ۲۵ درصد کاهش دهند. ابزارهایی مانند R8 باید بخشی از فرایند ساخت باشند تا کلاسهای استفادهنشده را حذف کنند و بایتکد را بهینهسازی کنند. کد کوچکتر یعنی کلاسهای کمتری بارگذاری میشوند و اندازه مجموعه مقیم در زمان اجرا کاهش مییابد.
راهبرد آزمایش نیز باید تغییر کند. سناریوهای کمبود حافظه را شبیهسازی کنید، محدودیتهای پسزمینه را فعال کنید و بررسی کنید که اپلیکیشن هنگام سبکسازی پردازشها توسط اندروید چگونه واکنش نشان میدهد. مراقب رفتارهای غیرمنتظره باشید، بهویژه زمانی که بخشهایی از برنامه بسته میشوند و بعدا دوباره بازیابی میشوند.
اگر اپلیکیشن شما نتواند در محدودههای جدید حافظه اجرا شود، اندروید به صورت خودکار آن را کند یا متوقف میکند.
تولیدکنندگان سختافزار نیز در حال تغییر دادن فضای رقابت هستند. بسیاری از سازندگان گوشی، مدلهای پایه را با ۴ گیگابایت رم عرضه میکنند. برخی نیز سطوح بالاتر حافظه را پشت هزینه بیشتر نگه میدارند و همین موضوع فشار را به سمت توسعهدهندگان منتقل میکند تا عملکرد قابل قبول را روی پایینترین سطح رایج سختافزار تضمین کنند. نتیجه این وضعیت، نیاز به نخبندی کارآمد، سرویسهای طولانیمدت کمتر و سیاستهای دقیقتر برای تصویر و کش است.
کنسول گوگل پلی معیارهای بهینهسازی را نمایش خواهد داد، بنابراین باید انتظار شفافیت بیشتر و احتمالا اجرای جدیتر قوانین را داشت. این فقط یک دستور پلتفرمی نیست؛ بلکه فشاری از سمت بازار است. اپلیکیشنهایی که سبکتر حرکت میکنند، سریعتر به نظر میرسند، انرژی کمتری مصرف میکنند و کاربران بیشتری را روی دستگاههای اقتصادی راضی نگه میدارند.
به این موضوع مثل یک چالش طراحی نگاه کنید: برای محدودیتها بسازید تا جریان اصلی کاربران هم سود ببرد. زودتر کاهش حجم، پروفایلگیری و تکرار را آغاز کنید. مهلت تعیینشده آنقدر دور هست که بتوان برنامهریزی کرد، اما آنقدر هم نزدیک است که سهلانگاری خیلی زود در گزارشهای کرش و نقدهای خشمگین کاربران دیده شود.





نظر بگذارید
نظرات
هنوز نظری ثبت نشده. اولین نفر باشید.