آموزش مدیریت حافظه در برنامه نویسی iOS
آموزش مدیریت حافظه در برنامه نویسی iOS
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش مدیریت حافظه در برنامه نویسی iOS خواهیم پرداخت.
مدیریت حافظه در iOS در ابتدا غیر ARC (شمارش خودکار مرجع) بود، جایی که باید اشیا را حفظ و رها کنیم. اکنون ، از ARC پشتیبانی می کند و نیازی به نگهداری و رها سازی اشیا نیست. Xcode به طور خودکار در زمان کامپایل از کار مراقبت می کند.
مسائل مربوط به مدیریت حافظه
طبق اسناد اپل، دو مسئله مهم در مدیریت حافظه عبارتند از:
- آزاد کردن یا رونویسی داده هایی که هنوز استفاده می شود. این باعث خراب شدن حافظه می شود و معمولاً منجر به خراب شدن برنامه شما یا بدتر از آن خرابی داده های کاربر می شود.
- آزاد نکردن داده هایی که دیگر استفاده نمی شوند باعث نشت حافظه می شوند. وقتی حافظه اختصاص داده شده آزاد نشود حتی اگر هرگز دیگر استفاده نشود، به آن نشت حافظه می گویند. نشت باعث می شود که برنامه شما از حافظه های روزافزون استفاده کند، که به نوبه خود ممکن است منجر به عملکرد ضعیف سیستم شود یا (در iOS) برنامه شما خاتمه یابد.
قوانین مدیریت حافظه
ما مالک اشیایی هستیم که خلق می کنیم و در صورت عدم نیاز دیگر مجبوریم آنها را آزاد کنیم.
برای به دست آوردن مالکیت شیئی که ایجاد نکرده اید، از Retain استفاده کنید. این اجسام را نیز در صورت عدم نیاز باید آزاد کنید.
اشیایی که متعلق به شما نیستند را رها نکنید.
مدیریت حافظه در ARC
نیازی به استفاده و آزادسازی در ARC نیست. بنابراین، با برداشتن کنترل کننده مشاهده، تمام اشیا کنترل کننده مشاهده آزاد می شوند. به طور مشابه، زیرشاخه های هر شی وقتی آزاد شوند، آزاد می شوند. توجه داشته باشید که اگر کلاسهای دیگر ارجاع زیادی به شی یک کلاس داشته باشند ، کل کلاس آزاد نمی شود.
ابزارهای مدیریت حافظه
ما می توانیم استفاده از حافظه را با کمک ابزار Xcode تجزیه و تحلیل کنیم. این شامل ابزارهایی مانند Activity Monitor ، Allocations ، Leaks ، Zombies و … است.
مراحل تجزیه و تحلیل تخصیص حافظه
مرحله 1 – برنامه موجود را باز کنید.
مرحله 2 – محصول و سپس مشخصات را مانند تصویر زیر انتخاب کنید.
مرحله 3 – در صفحه بعدی که در زیر نشان داده شده است ، تخصیص ها را انتخاب کرده و Profile را انتخاب کنید.
مرحله 4 – تخصیص حافظه برای اشیا مختلف را همانطور که در زیر نشان داده شده است، مشاهده خواهیم کرد.
مرحله 5 – می توانید بین کنترل کننده های مشاهده جابجا شوید و بررسی کنید که آیا حافظه به درستی آزاد شده است.
مرحله 6 – به همین ترتیب، به جای Allocations ، می توانیم از Activity Monitor برای دیدن حافظه کلی اختصاص یافته برای برنامه استفاده کنیم.
مرحله 7 – این ابزارها به ما کمک می کنند تا به مصرف حافظه خود دسترسی پیدا کنیم و مکانهایی را که نشت احتمالی در آنها رخ داده است، پیدا کنیم.
لیست جلسات قبل آموزش برنامه نویسی iOS
- آموزش برنامه نویسی iOS
- شروع آموزش برنامه نویسی iOS
- آموزش تنظیمات محیطی iOS
- آموزش objective C در بزنامه نویسی iOS
- آموزش ایجاد برنامه آیفون در برنامه نویسی iOS
- آموزش اکشن و خروجی در برنامه نویسی iOS
- آموزش Delegate در iOS
- آموزش عناصر UI در برنامه نویسی iOS
- آموزش ایجاد شتاب سنج در برنامه نویسی iOS
- برنامه های جهانی در برنامه نویسی iOS
- آموزش مدیریت دوربین در برنامه نویسی iOS
- آموزش مدیریت مکان در برنامه نویسی iOS
- آموزش پایگاه داده SQLite در برنامه نویسی iOS
- آموزش ارسال ایمیل در برنامه نویسی iOS
- آموزش صدا و تصویر در برنامه نویسی iOS
- آموزش مدیریت فایل در برنامه نویسی iOS
- آموزش دسترسی به نقشه ها در برنامه نویسی iOS
- آموزش خرید درون برنامه ای در برنامه نویسی iOS
- آموزش ادغام iAd در برنامه نویسی iOS
- آموزش GameKit در برنامه نویسی iOS
- آموزش استوری بورد در برنامه نویسی iOS
- آموزش طرح بندی خودکار در برنامه نویسی iOS
دیدگاه شما