احتمال وقوع memory leak در روش ارائه شده در اموزش ها(بخش فریم روک اختصاصی)
با سلام و عرض خسته نباشید خدمت استاد عزیز جناب آقاجانی
من در حین مطالعه بخش فریم ورک اختصاصی سوالی زیر برایم مطرح شده است.
مشکلی اینجاست که من فکر میکنم زمانی که ما رفرنس اکتیویتی جاری را توسط متد 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
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .