حداکثر اندازه فایل برای ساختن bitmap ؟
سلام
من وقتی میخام یک عکس رو از پوشه assets بصورت bitmap درستش کنم و داخل یک imageview نمایش بدم پیغام خطای زیر میاد :
01-23 18:28:21.578: E/AndroidRuntime(693): java.lang.OutOfMemoryError
وقتی از یه عکس کم حجمتر استفاده کردم مشکل رفع شد، میخاستم بدونم حجم عکس حداکثر چقدر باید باشه؟ عکس من کمتر از 150کیلوبات بود.
فکر کنم 127 کیلوبایت هست .
http://stackoverflow.com/questions/16765899/out-of-memory-error-with-bitmap
مهم نیست که عکس شما چند کیلو بایت هست، مهم هست که عکس شما چقدر Resolution داره. برای بارگزاری عکس:
1 بایت برای رنگ قرمز + 1 بایت برای رنگ سبز + 1 بایت برای رنگ آبی + 1 بایت برای آلفا که میشه جمعاً 4 بایت.
پس یک عکس 100x200 pixel برابر 100 * 200 * 4 بایت حافظه اشغال می کنه که میشه 80000B = 78KB
حالا مجموع عکس های بارگزاری شده نباید بیشتر از Heap Allocation Memory شما در گوشی ( یا Emulator ) باشه. توجه کنید که حجم منابع مثل گرافیک های اندروید، XML ها و چیزهایی مثل Array و متغیرها هم به این حجم در لحظه اجرا اضافه می شن.
حالا بگید:
- سایز عکس شما چقدر بوده؟
- چند تا عکس بوده؟
- حجم Heap Allocation Memory چقدر بوده؟
با ازای هر پیکسل بارگزاری میشه.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .