بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

کم کردن حجم عکس از url

مدیریت گفتگو
MyNewName 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

یه اپ دارم که عکس هارو از url میخونه 

اما حجم و سایز عکس ها زیاده

چطوری میتونم حجمش رو کم کنم بعد نمایش بدم ؟ آخه به شدت باعث کند شدن نرم افزار شده

با تشکر

نظرات

پاسخ‌ها 3

MeY3am 11 سال پیش

شما به راحتی میتونید عکس هارو به Bitmap تبدیل کنید و با استفاده از Option این کار رو انجام بدین:

 BitmapFactory.Options options = new BitmapFactory.Options();
                        options.inSampleSize = 5;
                        Bitmap bitmap = BitmapFactory.decodeFile(bitmapFile, options);
                        imageView.setImageBitmap(bitmap);

یعنی با استفاده از قطعه کد

 options.inSampleSize = 5;

می تونید سایز عکس رو مثلأ تا 5 برابر کوچک کنید ( این عدد متغیر هستش) و از پردازش سنگین عکس ها جلوگیری میشه و حافظه بطور بهینه آشغال میشه و یه نکته مهم اینکه دیگه با خطای OutOfMemoryError روبرو نمی شوید !

نظرات

MyNewName 11 سال پیش
این کارو کردم عکس ها کم کیفیت شد اما فشار کم نشد
سپهر 11 سال پیش

میتونید عکستون رو bitmap کنید و اون رو داخل یک فایل به صورت فشرده ذخیره کنید

   FileOutputStream fOut = null;

                            file = new File(dir, fileName);
                            fOut = new FileOutputStream(file);
                            bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
                            fOut.flush();
                            fOut.close();

نظرات

Criss 11 سال پیش
حالا چطوری لودش کنیم ؟
MiRHaDi 11 سال پیش

سلام
شما دو راه دارید . راهی که دوستان فرمودند بعد از دانلود عکس سایز آن را کوچک میکند تا حافظه گوشی کمتر اشغال شود و نرم افزار کند نشود.
ولی راه کاملتر این هست که سمت سرور شما عکس را کوچک کنید و بعد بفرستید که ضمن اینکه نرم افزار کند نمیشود پهنای باند اینترنت هم خورده نمی شود.اگر فایلها در سرور شما نمی باشد هم میتوانید با یک webservise این کار را بکنید و با فرستادن عرض و طول مد نظر و آدرس اینترنتی عکس آن را تبدیل کرده و برنامه دریافت کند . برای پایین آمدن بار سرور هم میتوانید از کش درون سرور استفاده نمایید
موفق باشید

نظرات

MyNewName 11 سال پیش
ممنون به نظرتون هر عکس رو با 5-6 کیلوبایت اوکی کنیم ردیف میشه ؟ الان حجم هر عکس روی 70-80 کیلو بایت هست
پاشا 11 سال پیش
پیشنهاد می کنم شما یه تفعلی به توابع داخل کلاس android.os.Debug بزن، که از وضعیت دقیق memory دستگاه و برنامه، در حین انجام این عملیات مطلع بشی. اون موقع می تونید براحتی تصمیم بگیری که چقدر size و resolution رو کم کنی.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .