دلایل مختلفی وجود دارد که چرا بارگذاری بیتمپها در برنامه اندروید دشوار است:
- بیتمپها میتوانند به راحتی حافظهی یک برنامه را مصرف کنند. برای مثال، دوربین گوشی پیکسل عکسهایی با حداکثر وضوح ۴۰۴۸x۳۰۳۶ پیکسل (۱۲ مگاپیکسل) میگیرد. اگر پیکربندی بیتمپ مورد استفاده
ARGB_8888باشد، که پیشفرض اندروید ۲.۳ (API سطح ۹) و بالاتر است، بارگذاری یک عکس در حافظه حدود ۴۸ مگابایت حافظه (۴۰۴۸*۳۰۳۶*۴ بایت) را اشغال میکند. چنین تقاضای حافظهی زیادی میتواند بلافاصله تمام حافظهی موجود برای برنامه را مصرف کند. - بارگذاری بیتمپها در نخ رابط کاربری میتواند عملکرد برنامه شما را کاهش دهد و باعث کندی پاسخگویی یا حتی پیامهای ANR شود. بنابراین مدیریت صحیح نخبندی هنگام کار با بیتمپها بسیار مهم است.
- اگر برنامه شما چندین بیتمپ را در حافظه بارگذاری میکند، باید حافظه و حافظه پنهان دیسک را به طرز ماهرانهای مدیریت کنید. در غیر این صورت، ممکن است پاسخگویی و روان بودن رابط کاربری برنامه شما دچار مشکل شود.
در بیشتر موارد، توصیه میکنیم از کتابخانه Glide برای دریافت، رمزگشایی و نمایش بیتمپها در برنامه خود استفاده کنید. Glide بیشتر پیچیدگیهای مربوط به مدیریت این موارد و سایر وظایف مربوط به کار با بیتمپها و سایر تصاویر در اندروید را از بین میبرد. برای کسب اطلاعات در مورد استفاده و دانلود Glide، به مخزن Glide در GitHub مراجعه کنید.
همچنین میتوانید مستقیماً با APIهای سطح پایینتر که در چارچوب اندروید تعبیه شدهاند، کار کنید. برای اطلاعات بیشتر در مورد انجام این کار، به «بارگذاری مؤثر بیتمپهای بزرگ» ، «ذخیرهسازی بیتمپها» و «مدیریت حافظه بیتمپ» مراجعه کنید.
