شما در حال مطالعه نسخه آفلاین یکی از مطالب «مجله فرادرس» هستید. لطفاً توجه داشته باشید، ممکن است برخی از قابلیتهای تعاملی مطالب، مانند امکان پاسخ به پرسشهای چهار گزینهای و مشاهده جواب صحیح آنها، نمایش نتیجه آزمونها، پاسخ تشریحی سوالات، پخش فایلهای صوتی و تصویری و غیره، در این نسخه در دسترس نباشند. برای دسترسی به نسخه آنلاین مطلب، استفاده از کلیه امکانات آن و داشتن تجربه کاربری بهتر اینجا کلیک کنید.
شناسایی نشت حافظه با ابزارهای Xcode – از صفر تا صد
۵۱ بازدید
آخرین بهروزرسانی: ۵ مهر ۱۴۰۲
زمان مطالعه: ۲ دقیقه
دانلود PDF مقاله
در این مقاله کوتاه با شیوه تولید و همچنین شناسایی نشت حافظه با استفاده از ابزارهای Xcode به نام گراف حافظه و leaks آشنا میشویم. اپلیکیشن نمونه دو صفحه را نشان میدهد. در صفحه نخست یک دکمه وجود دارد که وقتی روی آن ضربه بزنیم ما را به صفحه دوم میبرد. در این صفحه عامدانه یک نشت حافظه با استفاده از یک چرخه ایجاد کردهایم. گردش کار به صورت زیر است:
Open Developer Tool را باز کرده و گزینه Instruments را انتخاب کنید.
سپس گزینه Leaks را انتخاب کرده و مطمئن شوید که اپلیکیشن و دستگاه هدف خود را به درستی انتخاب کردهاید:
در نهایت روی دکمه record بزنید.
اکنون اپلیکیشن باز میشود و تنها کاری که باید انجام دهید این است که روی دکمه ناوبری بزنید و سپس دکمه بازگشت LeakingViewController را بفشارید.
نتیجه زیر به دست میآید:
آیکون قرمز به این معنا است که در جایی از اپلیکیشن با نشت حافظه مواجه هستیم. برای مشاهده اشیای تخصیص نیافته واقعی از ابزار گراف حافظه Xcode استفاده میکنیم.
میبینیم که علیرغم ارائه و خروج از LeakingViewController، همچنان همراه با ViewComponent در گراف حافظه حضور دارد:
سخن پایانی
leaks در Xcode ابزار بسیار کارآمدی است. کافی است روی دکمه record کلیک کنیم و در اپلیکیشن حرکت نماییم تا اقداماتی در سراسر یک اپلیکیشن بزرگ انجام یابند و این ابزار محلهای نشست حافظه را نشان دهد. همچنین روشی برای ثبت سوابق و مرور آنها در مراحل بعدی وجود دارد.
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
«میثم لطفی» در رشتههای ریاضیات کاربردی و مهندسی کامپیوتر به تحصیل پرداخته و شیفته فناوری است. وی در حال حاضر علاوه بر پیگیری علاقهمندیهایش در رشتههای برنامهنویسی، کپیرایتینگ و محتوای چندرسانهای، در زمینه نگارش مقالاتی با محوریت نرمافزار با مجله فرادرس همکاری دارد.
شما در حال مطالعه نسخه آفلاین یکی از مطالب «مجله فرادرس» هستید. لطفاً توجه داشته باشید، ممکن است برخی از قابلیتهای تعاملی مطالب، مانند امکان پاسخ به پرسشهای چهار گزینهای و مشاهده جواب صحیح آنها، نمایش نتیجه آزمونها، پاسخ تشریحی سوالات، پخش فایلهای صوتی و تصویری و غیره، در این نسخه در دسترس نباشند. برای دسترسی به نسخه آنلاین مطلب، استفاده از کلیه امکانات آن و داشتن تجربه کاربری بهتر اینجا کلیک کنید.