دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۰
  • فروردین

جلسه ۲۳ : مدیریت حافظه در iOS

  • دسته‌بندی‌ها :
جلسه ۲۳ : مدیریت حافظه در iOS
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام  و وقت بخیر خدمت کاربران سایت پی وی لرن ، جلسه بیست و سوم از  دوره آموزشی iOS را با مدیریت حافظه در iOS و ابزار مدیریت حافظه در iOS را آغاز می کنیم.مدیریت حافظه در iOS در ابتدا غیر ARC (شمارش خودکار) بود، که در آن ما باید اشیا را حفظ و آزاد کنیم. در حال حاضر،از ARC پشتیبانی می کند و لازم نیست که اشیا را حفظ و آزاد کنیم. Xcode به طور خودکار در زمان کامپایل مراقبت از کار را انجام می دهد.

      مدیریت حافظه در iOS

      مسائل مربوط به مدیریت حافظه در iOS
      همانطور که در اسناد و مدارک اپل است، دو مساله مهم در مدیریت حافظه وجود دارد :

      • رها کردن یا نوشتن اطلاعاتی که هنوز در حال استفاده است.

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

      • آزاد کردن داده هایی که دیگر در حال استفاده نیست سرباری برای حافظه می شود.

      هنگامی که حافظه اختصاص داده شده آزاد نمی شود، هر چند که هرگز دوباره استفاده نخواهد شد، به عنوان نشت یا سربارحافظه شناخته می شود.

      نشتی باعث می شود که برنامه شما برای استفاده از میزان بیشتر از حافظه، با عملکرد ضعیف سیستم (در iOS) روبه رو شود و یا درخواست شما را خاتمه دهد.

      قوانین مدیریت حافظه

      ما اشیایی را که ایجاد می کنیم که خودمان داریم و بعدا باید آنها را آزاد کنیم، چون دیگر نیازی به آنها نیست.

      از Retain برای مالکیت یک شی که شما ایجاد نکرده اید استفاده کنید.

      شما باید این اشیا را نیز زمانی که نیازی ندارید آزاد کنید.

      مدیریت حافظه در ARC

      لازم نیست از انتشار  و نگه داری  در ARC استفاده کنید.

      بنابراین، تمام اشیاء كنترل كننده هنگامی كه view controller حذف می شود آزاد می شود.

      به طور مشابه، هر زیر اشیاء شیء زمانی منتشر می شود که آزاد می شود.

      توجه داشته باشید که اگر کلاسهای دیگر یک اشاره قوی به یک شیء از یک کلاس داشته باشند، کل کلاس آزاد نخواهد شد.

      بنابراین، توصیه می شود از ویژگی های ضعیف برای delegateها استفاده کنید.

      ابزار مدیریت حافظه در iOS

      ما می توانیم با استفاده از ابزار Xcode، استفاده از حافظه را تحلیل کنیم.

      ابزارهایی که شامل  Activity Monitor، Allocations، Leaks، Zombies و غیره می باشد.

      مراحل برای تجزیه و تحلیل منابع حافظه

      مرحله ۱ : یک برنامه موجود را باز کنید.

      مرحله ۲ : انتخاب محصول و سپس مشخصات که به صورت زیر نشان داده شده است.

      مدیریت حافظه در iOS

      مرحله ۳ : در بخش بعدی که در زیر نشان داده شده است، Allocations را انتخاب کنید و سپس نمایه را انتخاب کنید.

      مدیریت حافظه در iOS

      مرحله ۴ :تخصیص حافظه برای اشیاء مختلف را در زیر نشان خواهیم داد.

      شما می توانید بین view controller سوییچ کنید و بررسی کنید که آیا حافظه به درستی منتشر شده است.

      مرحله ۶ : به طور مشابه، به جای Allocations، ما می توانیم از Activity Monitor برای دیدن حافظه کلی اختصاص داده شده برای برنامه استفاده کنیم.

      ابزار مدیریت حافظه در iOS

      کلام آخر

      ابزار مدیریت حافظه در iOS به ما برای دسترسی به مصرف حافظه  کمک می کند و مکان هایی را که در آن ممکن است نشت رخ داده است، پیدا می کند.

      جلسه بعد که جلسه آخر آمورش iOS نیز می باشد اشکال زدایی برنامه در iOS آموزش داده خواهد شد.

      QR:  جلسه ۲۳ : مدیریت حافظه در iOS
      به اشتراک بگذارید