آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

احتمال وقوع memory leak در روش ارائه شده در اموزش ها(بخش فریم روک اختصاصی)

mdeveloper  7 سال پیش  7 سال پیش
+1 0

با سلام و عرض خسته نباشید خدمت استاد عزیز جناب آقاجانی

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

مشکلی اینجاست که من فکر میکنم زمانی که ما رفرنس اکتیویتی جاری را توسط متد setCurrentActivity داخل کلاس UBase ذخیره می کنیم، اگر اکتیویتی ما کارش تمام شود و بخواهد توسط garbage collector از حافظه حذف گردد، به علت وجود این رفرنس، در memory می ماند و مشکل memory leak رخ خواهد داد.

در مقاله زیر ذکر شده برای جلوگیری از memory leak، نباید رفرنسی از اکتیویتی رو در یک کلاس دیگر ( که ممکن است lifetime آن طولانی تر از اکتیویتی باشد)ذخیره کنیم.اتفاقی که در فریم ورک اختصاصی با ذخیره کردن رفرنس اکتیویتی داخل کلاس UBase (که معمولا lifetime آن طولانی تر از یک اکتیویتی است)رخ داده است، مثال بارز از memory leak است.

لطفا این مورد رو بررسی فرمایید.

با تشکر

لینک مقاله: https://techbeacon.com/what-you-need-know-about-android-app-memory-leaks

0 0
آیا بهتر نیست حداقل رفرنس رو بصورت WeakReference ذخیره سازی کنیم؟ (7 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
mdeveloper  7 سال پیش
0 0

استاد آقاجانی عزیز ممکنه این مشکل رو بررسی کنید؟


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