با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، جلسه بیست و سوم از دوره آموزشی iOS را با مدیریت حافظه در iOS و ابزار مدیریت حافظه در iOS را آغاز می کنیم.مدیریت حافظه در iOS در ابتدا غیر ARC (شمارش خودکار) بود، که در آن ما باید اشیا را حفظ و آزاد کنیم. در حال حاضر،از ARC پشتیبانی می کند و لازم نیست که اشیا را حفظ و آزاد کنیم. Xcode به طور خودکار در زمان کامپایل مراقبت از کار را انجام می دهد.
مسائل مربوط به مدیریت حافظه در iOS
همانطور که در اسناد و مدارک اپل است، دو مساله مهم در مدیریت حافظه وجود دارد :
این عمل باعث فساد حافظه میشود و به طور معمول موجب خرابی برنامه شما یا بدتر اینکه سبب می شود داده های کاربر خراب شود.
هنگامی که حافظه اختصاص داده شده آزاد نمی شود، هر چند که هرگز دوباره استفاده نخواهد شد، به عنوان نشت یا سربارحافظه شناخته می شود.
نشتی باعث می شود که برنامه شما برای استفاده از میزان بیشتر از حافظه، با عملکرد ضعیف سیستم (در iOS) روبه رو شود و یا درخواست شما را خاتمه دهد.
ما اشیایی را که ایجاد می کنیم که خودمان داریم و بعدا باید آنها را آزاد کنیم، چون دیگر نیازی به آنها نیست.
از Retain برای مالکیت یک شی که شما ایجاد نکرده اید استفاده کنید.
شما باید این اشیا را نیز زمانی که نیازی ندارید آزاد کنید.
لازم نیست از انتشار و نگه داری در ARC استفاده کنید.
بنابراین، تمام اشیاء كنترل كننده هنگامی كه view controller حذف می شود آزاد می شود.
به طور مشابه، هر زیر اشیاء شیء زمانی منتشر می شود که آزاد می شود.
توجه داشته باشید که اگر کلاسهای دیگر یک اشاره قوی به یک شیء از یک کلاس داشته باشند، کل کلاس آزاد نخواهد شد.
بنابراین، توصیه می شود از ویژگی های ضعیف برای delegateها استفاده کنید.
ما می توانیم با استفاده از ابزار Xcode، استفاده از حافظه را تحلیل کنیم.
ابزارهایی که شامل Activity Monitor، Allocations، Leaks، Zombies و غیره می باشد.
مرحله ۱ : یک برنامه موجود را باز کنید.
مرحله ۲ : انتخاب محصول و سپس مشخصات که به صورت زیر نشان داده شده است.
مرحله ۳ : در بخش بعدی که در زیر نشان داده شده است، Allocations را انتخاب کنید و سپس نمایه را انتخاب کنید.
شما می توانید بین view controller سوییچ کنید و بررسی کنید که آیا حافظه به درستی منتشر شده است.
مرحله ۶ : به طور مشابه، به جای Allocations، ما می توانیم از Activity Monitor برای دیدن حافظه کلی اختصاص داده شده برای برنامه استفاده کنیم.
ابزار مدیریت حافظه در iOS به ما برای دسترسی به مصرف حافظه کمک می کند و مکان هایی را که در آن ممکن است نشت رخ داده است، پیدا می کند.
جلسه بعد که جلسه آخر آمورش iOS نیز می باشد اشکال زدایی برنامه در iOS آموزش داده خواهد شد.