مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

fadak

عضویت از 1394/10/03

نمایش تصویر

  • پنجشنبه 30 دی 1395
  • 23:08
تشکر میکنم

با سلام و احترام

ببخشید من یه مشکلی تو لود تصویر گرفته شده دارم

بعد از اینکه تصویر گرفته میشه و ذخیره میشه با دوباره رفت و برگشت به صفحه نمایش تصویر خطای زیر رو میده

Java.Lang.OutOfMemoryError: Failed to allocate a 65028108 byte allocation with 5651552 free bytes and 5MB until OOM

ممنون میشم راهنمایی کنید

پاسخ های این پرسش

تعداد پاسخ ها : 11 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 1 بهمن 1395
  • 08:16

تصویر از کجا گرفته میشه ؟

رفت و برگشت به کجا ؟

لطفا بیشتر توضیح دهید

کاربر سایت

fadak

عضویت از 1394/10/03

  • جمعه 1 بهمن 1395
  • 09:42

سلام

عکس با دوربین گوشی گرفته میشه و در لیست ویو نمایش داده میشه بعد از انتخاب از لیست برای ویرایش تصویر وارد صحفه ویرایش میشود و در برگشت به صفحه لیست ویو این خطا نمایش داده می شود

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 1 بهمن 1395
  • 12:19

کد هاتون رو قرار بدید تا بتونیم مشکل رو پیدا کنیم

کاربر سایت

fadak

عضویت از 1394/10/03

  • جمعه 1 بهمن 1395
  • 12:31

ممنون

فایل های ضمیمه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • جمعه 1 بهمن 1395
  • 12:32

از طریق ادیتور و کلید کد قرار دهید

امکان دانلود ندارم

کاربر سایت

fadak

عضویت از 1394/10/03

  • جمعه 1 بهمن 1395
  • 13:02

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 2 بهمن 1395
  • 08:37

به احتمال زیاد حجم تصویر خیلی بالاست

باید تصویر را با سایز کوچک بگیرید

کاربر سایت

یونس قربانی

عضویت از 1395/08/20

  • شنبه 2 بهمن 1395
  • 09:36

با سلام و خسته نباشید

تصویری که Decode میشه درون Bitmap حجم بالایی میگیره و این مشکل رو براتون پیش میاره

کاری که میتونید انجام بدید.

1. موقع گرفتن عکس سایز بدید که بیشتر از اون سایز نباشه

2.برای نمایش عکس بجای استفاده از ImageView از ImageViewAsync استفاده کنید که با نصب پکیج FFImageLoading در اختیار شمار قرار میگیره .

3.هر بار ار اکتیوتی خارج میشوید bitmap را خالی کنید Bitmap.Recycle

4.اگر هم از ImageView استفاده میکنید موقع خروج imageview.Dispose حافظه اشغال شده را آزاد کنید.

موفق باشید.

کاربر سایت

fadak

عضویت از 1394/10/03

  • شنبه 2 بهمن 1395
  • 18:13

سلام

ممنون از راهنماییتون

بله همین طور هست هر بار که از اکتیوتی خارج میشم حافظه رو ازاد نمیکنم و این باعث اشغال بیش از حد حافظه میشه

کاربر سایت

یونس قربانی

عضویت از 1395/08/20

  • یکشنبه 3 بهمن 1395
  • 09:16

متد OnDestroy رو override کنید یا متد OnBackPressed

ImageView هارو Dispose کنید و GC.Collect رو فراخوانی کنید تا Garbage Collector حافظه اشغال شده رو آزاد کنه.

موفق باشید .

کاربر سایت

fadak

عضویت از 1394/10/03

  • یکشنبه 3 بهمن 1395
  • 20:40

سلام

ممنون مشکل برنامه حل شد با اضافه کردن GC.Collect بعد از  Dispose کردن

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)