حافظه یک منبع ارزشمند در هر محیط توسعه نرمافزاری است، اما در سیستمعامل تلفن همراه که حافظه فیزیکی اغلب محدود است، حتی ارزشمندتر است. این امر به ویژه در مورد دستگاههای با حافظه کم بومی که معمولاً با Android (نسخه Go) یافت میشوند، صادق است. چند راه برای کمک به بهینه سازی حافظه در برنامه شما وجود دارد تا به اجرای روان آن در این محیط ها کمک کند.
بهترین شیوه ها
حافظه کش را آزاد کنید
ممکن است حافظه کافی برای اجرای فرآیندهای پس زمینه مانند یک محیط معمولی وجود نداشته باشد. در این مورد، می توانید از onTrimMemory()
برای حذف حافظه غیر ضروری از فرآیند برنامه خود استفاده کنید. برای شناسایی بهترین سطح تریم فعلی برای برنامه خود، از ActivityManager.getMyMemoryState(RunningAppProcessInfo)
استفاده کنید و منابع غیرضروری را بهینه یا کوتاه کنید. به عنوان مثال، میتوانید استفاده غیرضروری از حافظه را از عبارتها، جستجو، مشاهده حافظه پنهان یا افزونههای قابل باز کردن کاهش دهید تا تعداد دفعاتی که برنامه شما به دلیل حافظه کم دچار خرابی یا ANR میشود کاهش یابد.
زمان بندی کار
زمانبندی همزمان میتواند به اجرای موازی چندین عملیات فشرده حافظه منجر شود و منجر به رقابت برای منابعی شود که بیش از حداکثر استفاده از حافظه یک برنامه است. سعی کنید با تفکیک فرآیندها به وظایف فشرده CPU و با تأخیر کم در استخر رشته مناسب، منابع را به طور مناسب تخصیص دهید تا روی دستگاه هایی که ممکن است با محدودیت های منابع مختلف مواجه شوند اجرا شوند.
نشت حافظه
ابزارهای مختلفی مانند Memory Profiler در Android Studio و Perfetto به طور خاص برای کمک به یافتن و کاهش نشت حافظه در برنامه شما در دسترس هستند. بسیار تشویق می شود که از این ابزارها برای شناسایی و رفع مشکلات احتمالی حافظه استفاده کنید تا به سایر اجزای برنامه شما اجازه دهید بدون فشار اضافی روی سیستم اجرا شوند.
نکات دیگر
- تصاویر بزرگ یا قابل ترسیم حافظه بیشتری را در برنامه ها مصرف می کنند. شناسایی و بهینه سازی بیت مپ های بزرگ یا تمام رنگی برای کاهش مصرف حافظه.
- سعی کنید هنگام ساخت اندروید (نسخه Go) گزینه های دیگری را برای GIF در برنامه خود انتخاب کنید زیرا GIF ها حافظه زیادی مصرف می کنند.
- با استفاده از ابزارهایی مانند WebP ، pngcrush و pngquant میتوانید اندازه فایلهای PNG را بدون از دست دادن کیفیت تصویر کاهش دهید. همه این ابزارها می توانند اندازه فایل PNG را کاهش دهند و در عین حال کیفیت تصویر ادراکی را حفظ کنند.
- ابزار aapt میتواند منابع تصویری را که در
res/drawable/
قرار گرفتهاند را با فشردهسازی بدون تلفات در طول فرآیند ساخت بهینهسازی کند. به عنوان مثال، ابزار aapt می تواند یک PNG با رنگ واقعی که به بیش از 256 رنگ نیاز ندارد، به یک PNG 8 بیتی با یک پالت رنگ تبدیل کند. انجام این کار منجر به تصویری با کیفیت یکسان اما ردپای حافظه کوچکتر می شود.
حافظه یک منبع ارزشمند در هر محیط توسعه نرمافزاری است، اما در سیستمعامل تلفن همراه که حافظه فیزیکی اغلب محدود است، حتی ارزشمندتر است. این امر به ویژه در مورد دستگاههای با حافظه کم بومی که معمولاً با Android (نسخه Go) یافت میشوند، صادق است. چند راه برای کمک به بهینه سازی حافظه در برنامه شما وجود دارد تا به اجرای روان آن در این محیط ها کمک کند.
بهترین شیوه ها
حافظه کش را آزاد کنید
ممکن است حافظه کافی برای اجرای فرآیندهای پس زمینه مانند یک محیط معمولی وجود نداشته باشد. در این مورد، می توانید از onTrimMemory()
برای حذف حافظه غیر ضروری از فرآیند برنامه خود استفاده کنید. برای شناسایی بهترین سطح تریم فعلی برای برنامه خود، از ActivityManager.getMyMemoryState(RunningAppProcessInfo)
استفاده کنید و منابع غیرضروری را بهینه یا کوتاه کنید. به عنوان مثال، میتوانید استفاده غیرضروری از حافظه را از عبارتها، جستجو، مشاهده حافظه پنهان یا افزونههای قابل باز کردن کاهش دهید تا تعداد دفعاتی که برنامه شما به دلیل حافظه کم دچار خرابی یا ANR میشود کاهش یابد.
زمان بندی کار
زمانبندی همزمان میتواند به اجرای موازی چندین عملیات فشرده حافظه منجر شود و منجر به رقابت برای منابعی شود که بیش از حداکثر استفاده از حافظه یک برنامه است. سعی کنید با تفکیک فرآیندها به وظایف فشرده CPU و با تأخیر کم در استخر رشته مناسب، منابع را به طور مناسب تخصیص دهید تا روی دستگاه هایی که ممکن است با محدودیت های منابع مختلف مواجه شوند اجرا شوند.
نشت حافظه
ابزارهای مختلفی مانند Memory Profiler در Android Studio و Perfetto به طور خاص برای کمک به یافتن و کاهش نشت حافظه در برنامه شما در دسترس هستند. بسیار تشویق می شود که از این ابزارها برای شناسایی و رفع مشکلات احتمالی حافظه استفاده کنید تا به سایر اجزای برنامه شما اجازه دهید بدون فشار اضافی روی سیستم اجرا شوند.
نکات دیگر
- تصاویر بزرگ یا قابل ترسیم حافظه بیشتری را در برنامه ها مصرف می کنند. شناسایی و بهینه سازی بیت مپ های بزرگ یا تمام رنگی برای کاهش مصرف حافظه.
- سعی کنید هنگام ساخت اندروید (نسخه Go) گزینه های دیگری را برای GIF در برنامه خود انتخاب کنید زیرا GIF ها حافظه زیادی مصرف می کنند.
- با استفاده از ابزارهایی مانند WebP ، pngcrush و pngquant میتوانید اندازه فایلهای PNG را بدون از دست دادن کیفیت تصویر کاهش دهید. همه این ابزارها می توانند اندازه فایل PNG را کاهش دهند و در عین حال کیفیت تصویر ادراکی را حفظ کنند.
- ابزار aapt میتواند منابع تصویری را که در
res/drawable/
قرار گرفتهاند را با فشردهسازی بدون تلفات در طول فرآیند ساخت بهینهسازی کند. به عنوان مثال، ابزار aapt می تواند یک PNG با رنگ واقعی که به بیش از 256 رنگ نیاز ندارد، به یک PNG 8 بیتی با یک پالت رنگ تبدیل کند. انجام این کار منجر به تصویری با کیفیت یکسان اما ردپای حافظه کوچکتر می شود.
حافظه یک منبع ارزشمند در هر محیط توسعه نرمافزاری است، اما در سیستمعامل تلفن همراه که حافظه فیزیکی اغلب محدود است، حتی ارزشمندتر است. این امر به ویژه در مورد دستگاههای با حافظه کم بومی که معمولاً با Android (نسخه Go) یافت میشوند، صادق است. چند راه برای کمک به بهینه سازی حافظه در برنامه شما وجود دارد تا به اجرای روان آن در این محیط ها کمک کند.
بهترین شیوه ها
حافظه کش را آزاد کنید
ممکن است حافظه کافی برای اجرای فرآیندهای پس زمینه مانند یک محیط معمولی وجود نداشته باشد. در این مورد، می توانید از onTrimMemory()
برای حذف حافظه غیر ضروری از فرآیند برنامه خود استفاده کنید. برای شناسایی بهترین سطح تریم فعلی برای برنامه خود، از ActivityManager.getMyMemoryState(RunningAppProcessInfo)
استفاده کنید و منابع غیرضروری را بهینه یا کوتاه کنید. به عنوان مثال، میتوانید استفاده غیرضروری از حافظه را از عبارتها، جستجو، مشاهده حافظه پنهان یا افزونههای قابل باز کردن کاهش دهید تا تعداد دفعاتی که برنامه شما به دلیل حافظه کم دچار خرابی یا ANR میشود کاهش یابد.
زمان بندی کار
زمانبندی همزمان میتواند به اجرای موازی چندین عملیات فشرده حافظه منجر شود و منجر به رقابت برای منابعی شود که بیش از حداکثر استفاده از حافظه یک برنامه است. سعی کنید با تفکیک فرآیندها به وظایف فشرده CPU و با تأخیر کم در استخر رشته مناسب، منابع را به طور مناسب تخصیص دهید تا روی دستگاه هایی که ممکن است با محدودیت های منابع مختلف مواجه شوند اجرا شوند.
نشت حافظه
ابزارهای مختلفی مانند Memory Profiler در Android Studio و Perfetto به طور خاص برای کمک به یافتن و کاهش نشت حافظه در برنامه شما در دسترس هستند. بسیار تشویق می شود که از این ابزارها برای شناسایی و رفع مشکلات احتمالی حافظه استفاده کنید تا به سایر اجزای برنامه شما اجازه دهید بدون فشار اضافی روی سیستم اجرا شوند.
نکات دیگر
- تصاویر بزرگ یا قابل ترسیم حافظه بیشتری را در برنامه ها مصرف می کنند. شناسایی و بهینه سازی بیت مپ های بزرگ یا تمام رنگی برای کاهش مصرف حافظه.
- سعی کنید هنگام ساخت اندروید (نسخه Go) گزینه های دیگری را برای GIF در برنامه خود انتخاب کنید زیرا GIF ها حافظه زیادی مصرف می کنند.
- با استفاده از ابزارهایی مانند WebP ، pngcrush و pngquant میتوانید اندازه فایلهای PNG را بدون از دست دادن کیفیت تصویر کاهش دهید. همه این ابزارها می توانند اندازه فایل PNG را کاهش دهند و در عین حال کیفیت تصویر ادراکی را حفظ کنند.
- ابزار aapt میتواند منابع تصویری را که در
res/drawable/
قرار گرفتهاند را با فشردهسازی بدون تلفات در طول فرآیند ساخت بهینهسازی کند. به عنوان مثال، ابزار aapt می تواند یک PNG با رنگ واقعی که به بیش از 256 رنگ نیاز ندارد، به یک PNG 8 بیتی با یک پالت رنگ تبدیل کند. انجام این کار منجر به تصویری با کیفیت یکسان اما ردپای حافظه کوچکتر می شود.
حافظه یک منبع ارزشمند در هر محیط توسعه نرمافزاری است، اما در سیستمعامل تلفن همراه که حافظه فیزیکی اغلب محدود است، حتی ارزشمندتر است. این امر به ویژه در مورد دستگاههای با حافظه کم بومی که معمولاً با Android (نسخه Go) یافت میشوند، صادق است. چند راه برای کمک به بهینه سازی حافظه در برنامه شما وجود دارد تا به اجرای روان آن در این محیط ها کمک کند.
بهترین شیوه ها
حافظه کش را آزاد کنید
ممکن است حافظه کافی برای اجرای فرآیندهای پس زمینه مانند یک محیط معمولی وجود نداشته باشد. در این مورد، می توانید از onTrimMemory()
برای حذف حافظه غیر ضروری از فرآیند برنامه خود استفاده کنید. برای شناسایی بهترین سطح تریم فعلی برای برنامه خود، از ActivityManager.getMyMemoryState(RunningAppProcessInfo)
استفاده کنید و منابع غیرضروری را بهینه یا کوتاه کنید. به عنوان مثال، میتوانید استفاده غیرضروری از حافظه را از عبارتها، جستجو، مشاهده حافظه پنهان یا افزونههای قابل باز کردن کاهش دهید تا تعداد دفعاتی که برنامه شما به دلیل حافظه کم دچار خرابی یا ANR میشود کاهش یابد.
زمان بندی کار
زمانبندی همزمان میتواند به اجرای موازی چندین عملیات فشرده حافظه منجر شود و منجر به رقابت برای منابعی شود که بیش از حداکثر استفاده از حافظه یک برنامه است. سعی کنید با تفکیک فرآیندها به وظایف فشرده CPU و با تأخیر کم در استخر رشته مناسب، منابع را به طور مناسب تخصیص دهید تا روی دستگاه هایی که ممکن است با محدودیت های منابع مختلف مواجه شوند اجرا شوند.
نشت حافظه
ابزارهای مختلفی مانند Memory Profiler در Android Studio و Perfetto به طور خاص برای کمک به یافتن و کاهش نشت حافظه در برنامه شما در دسترس هستند. بسیار تشویق می شود که از این ابزارها برای شناسایی و رفع مشکلات احتمالی حافظه استفاده کنید تا به سایر اجزای برنامه شما اجازه دهید بدون فشار اضافی روی سیستم اجرا شوند.
نکات دیگر
- تصاویر بزرگ یا قابل ترسیم حافظه بیشتری را در برنامه ها مصرف می کنند. شناسایی و بهینه سازی بیت مپ های بزرگ یا تمام رنگی برای کاهش مصرف حافظه.
- سعی کنید هنگام ساخت اندروید (نسخه Go) گزینه های دیگری را برای GIF در برنامه خود انتخاب کنید زیرا GIF ها حافظه زیادی مصرف می کنند.
- با استفاده از ابزارهایی مانند WebP ، pngcrush و pngquant میتوانید اندازه فایلهای PNG را بدون از دست دادن کیفیت تصویر کاهش دهید. همه این ابزارها می توانند اندازه فایل PNG را کاهش دهند و در عین حال کیفیت تصویر ادراکی را حفظ کنند.
- ابزار aapt میتواند منابع تصویری را که در
res/drawable/
قرار گرفتهاند را با فشردهسازی بدون تلفات در طول فرآیند ساخت بهینهسازی کند. به عنوان مثال، ابزار aapt می تواند یک PNG با رنگ واقعی که به بیش از 256 رنگ نیاز ندارد، به یک PNG 8 بیتی با یک پالت رنگ تبدیل کند. انجام این کار منجر به تصویری با کیفیت یکسان اما ردپای حافظه کوچکتر می شود.