قاتل های کم حافظه، کشنده های کم حافظه، قاتل های کم حافظه، قاتل های کم حافظه

پلتفرم اندروید با این فرض اجرا می شود که حافظه آزاد حافظه هدر رفته است. اندروید سعی می کند همیشه از تمام حافظه های موجود استفاده کند. برای مثال، سیستم پس از بسته شدن برنامه‌ها را در حافظه نگه می‌دارد تا کاربر بتواند به سرعت به آن‌ها برگردد. به همین دلیل، دستگاه‌های Android اغلب با حافظه آزاد بسیار کمی کار می‌کنند ( تخصیص حافظه Android را اینجا ببینید).

فرآیند دیمون قاتل حافظه کم اندروید (LMK) وضعیت حافظه یک سیستم اندرویدی در حال اجرا را نظارت می کند و به فشار بالای حافظه با از بین بردن حداقل فرآیندهای ضروری برای حفظ عملکرد سیستم در سطوح قابل قبول واکنش نشان می دهد.

برای تصمیم‌گیری اینکه کدام فرآیند را بکشد، دیمون LMK از یک امتیاز حافظه خارج از حافظه به نام oom_adj_score برای اولویت‌بندی فرآیندهای در حال اجرا استفاده می‌کند. فرآیندهایی که امتیاز بالایی دارند ابتدا کشته می شوند. برنامه های پس زمینه ابتدا کشته می شوند. فرآیندهای سیستم، آخرین. جدول زیر دسته های امتیازدهی LMK را از بالا به پایین فهرست می کند. اقلام در رده بالاترین امتیاز، در ردیف یک، ابتدا کشته می شوند:

پردازش‌های اندروید از بالاترین امتیاز به پایین‌ترین رتبه‌بندی شدند: برنامه‌های پس‌زمینه، برنامه قبلی، برنامه خانگی،              خدمات، برنامه‌های قابل درک، برنامه پیش‌زمینه، مداوم، سیستمی و بومی.
شکل 1. فرآیندهای اندروید، با نمرات بالا در بالا و امتیازات پایین در پایین.

متریک LMK در اندروید حیاتی

Android vitals می تواند به شما در نظارت و بهبود نرخ LMK برنامه کمک کند. Android vitals تنها یک نرخ LMK را اندازه‌گیری می‌کند: نرخ LMK درک شده توسط کاربر .

این معیار نشان دهنده درصد کاربران فعال روزانه شماست که حداقل یک LMK درک شده توسط کاربر را تجربه کرده اند. LMK درک شده توسط کاربر، LMK است که احتمالاً توسط کاربر مورد توجه قرار گرفته است. به عنوان مثال، LMKهایی که در زمانی اتفاق می‌افتند که برنامه شما یک فعالیت را نمایش می‌دهد یا به عنوان یک سرویس پیش‌زمینه اجرا می‌شود.

می‌توانید معیار را در بخش پایداری در Android vitals پیدا کنید:

شکل 2. به نرخ LMK درک شده توسط کاربر در حیاتی اندروید دسترسی داشته باشید.

مانند سایر معیارهای حیاتی اصلی، مانند ANR ها و خرابی ها، می توانید معیارها را فیلتر کنید، معیارهای خود را با همتایان خود مقایسه کنید، یا تغییرات اندازه گیری را برای مدت زمان طولانی (تا 3 سال) نظارت کنید. داده‌ها برای برنامه‌های موجود از ۲۸ ژانویه ۲۰۲۵ در دسترس است.

شکل 3. بررسی اجمالی نرخ LMK در Android Vitals.

ابزارهای پروفایل حافظه

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

  • ببینید برنامه شما چگونه حافظه را در طول زمان تخصیص می دهد. می‌توانید نموداری بی‌درنگ از میزان حافظه‌ای که برنامه‌تان استفاده می‌کند، تعداد اشیاء جاوا اختصاص داده شده و زمان جمع‌آوری زباله‌ها را بیابید.
  • رویدادهای جمع‌آوری زباله را راه‌اندازی کنید و در حین اجرای برنامه‌تان، از پشته‌های جاوا عکس بگیرید.
  • تخصیص حافظه برنامه خود را ضبط کنید، همه اشیاء اختصاص داده شده را بررسی کنید، و ردیابی پشته برای هر تخصیص را مشاهده کنید.

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

Android Studio ، Memory Profiler را به‌عنوان جزئی از Android Profiler ارائه می‌کند که به شما کمک می‌کند نشت حافظه و ریزش حافظه را شناسایی کنید که می‌تواند منجر به لکنت، فریز و حتی خرابی برنامه شود. نمایه‌ساز نموداری بی‌درنگ از میزان استفاده از حافظه برنامه‌تان را نشان می‌دهد و به شما امکان می‌دهد از یک پشته خالی، جمع‌آوری زباله اجباری، و تخصیص حافظه ردیابی کنید.

شکل 4. مشاهده مراجع جهانی JNI در نمایه حافظه اندروید استودیو.

ابزارهای پروفایل حافظه یونیتی

اگر از Unity Engine برای ساخت برنامه‌های خود استفاده می‌کنید، می‌توانید دستورالعمل‌های نمایه‌سازی حافظه Unity را دنبال کنید. یونیتی دو ابزار برای تجزیه و تحلیل استفاده از حافظه در برنامه شما در Unity ارائه می دهد.

اولین مورد، ماژول Memory Profiler است که یک نمایه ساز داخلی است که اطلاعات اولیه در مورد جایی که برنامه شما از حافظه استفاده می کند به شما می دهد.

ماژول حافظه تخصیص حافظه مانند حافظه بافت و حافظه مش را نشان می دهد.
شکل 5. پنجره Unity Profiler با ماژول Memory انتخاب شده است.

ابزار دوم بسته Memory Profiler است که یک بسته Unity است که می توانید به پروژه خود اضافه کنید. این بسته یک پنجره Memory Profiler اضافی به ویرایشگر Unity اضافه می کند. Memory Profiler شما را قادر می سازد تا میزان استفاده از حافظه را در برنامه خود با جزئیات بیشتری تجزیه و تحلیل کنید. می‌توانید عکس‌های فوری را ذخیره و مقایسه کنید تا نشت‌های حافظه را پیدا کنید یا طرح‌بندی حافظه را ببینید تا مشکلات تکه تکه شدن حافظه را بیابید.

شکل 6. تجزیه و تحلیل یک عکس فوری حافظه با استفاده از پنجره Memory Profiler.

بینش حافظه غیر واقعی

برنامه‌های ساخته شده توسط Unreal Engine می‌توانند از Unreal Memory Insights برای مشاهده اطلاعات دقیق درباره تخصیص و تخصیص حافظه، از جمله برچسب‌های حافظه سطح پایین (LLM) و پشته‌های تماس مرتبط با بلوک‌های حافظه استفاده کنند.

سیستم پرس و جو Memory Insights می‌تواند تخصیص‌های زنده را در هر نقطه از زمان پیدا کند، تغییرات در استفاده از حافظه را شناسایی کند، نشت‌های حافظه را مشخص کند و تخصیص‌های کوتاه‌مدت را از بلندمدت متمایز کند.

از UE 5.4، Memory Insights از ردیابی حافظه با callstacks برای پروژه‌های Android پشتیبانی می‌کند.

ردیاب Memory Insights نمودار حافظه اصلی، تعداد تخصیص زنده و تعداد رویدادهای تخصیص/رایگان را نشان می‌دهد.
شکل 6. ردیاب Unreal's Memory Insights.

منابع اضافی

،

پلتفرم اندروید با این فرض اجرا می شود که حافظه آزاد حافظه هدر رفته است. اندروید سعی می کند همیشه از تمام حافظه های موجود استفاده کند. برای مثال، سیستم پس از بسته شدن برنامه‌ها را در حافظه نگه می‌دارد تا کاربر بتواند به سرعت به آن‌ها برگردد. به همین دلیل، دستگاه‌های Android اغلب با حافظه آزاد بسیار کمی کار می‌کنند ( تخصیص حافظه Android را اینجا ببینید).

فرآیند دیمون قاتل حافظه کم اندروید (LMK) وضعیت حافظه یک سیستم اندرویدی در حال اجرا را نظارت می کند و به فشار بالای حافظه با از بین بردن حداقل فرآیندهای ضروری برای حفظ عملکرد سیستم در سطوح قابل قبول واکنش نشان می دهد.

برای تصمیم‌گیری اینکه کدام فرآیند را بکشد، دیمون LMK از یک امتیاز حافظه خارج از حافظه به نام oom_adj_score برای اولویت‌بندی فرآیندهای در حال اجرا استفاده می‌کند. فرآیندهایی که امتیاز بالایی دارند ابتدا کشته می شوند. برنامه های پس زمینه ابتدا کشته می شوند. فرآیندهای سیستم، آخرین. جدول زیر دسته های امتیازدهی LMK را از بالا به پایین فهرست می کند. اقلام در رده بالاترین امتیاز، در ردیف یک، ابتدا کشته می شوند:

پردازش‌های اندروید از بالاترین امتیاز به پایین‌ترین رتبه‌بندی شدند: برنامه‌های پس‌زمینه، برنامه قبلی، برنامه خانگی،              خدمات، برنامه‌های قابل درک، برنامه پیش‌زمینه، مداوم، سیستمی و بومی.
شکل 1. فرآیندهای اندروید، با نمرات بالا در بالا و امتیازات پایین در پایین.

متریک LMK در اندروید حیاتی

Android vitals می تواند به شما در نظارت و بهبود نرخ LMK برنامه کمک کند. Android vitals تنها یک نرخ LMK را اندازه‌گیری می‌کند: نرخ LMK درک شده توسط کاربر .

این معیار نشان دهنده درصد کاربران فعال روزانه شماست که حداقل یک LMK درک شده توسط کاربر را تجربه کرده اند. LMK درک شده توسط کاربر، LMK است که احتمالاً توسط کاربر مورد توجه قرار گرفته است. به عنوان مثال، LMKهایی که در زمانی اتفاق می‌افتند که برنامه شما یک فعالیت را نمایش می‌دهد یا به عنوان یک سرویس پیش‌زمینه اجرا می‌شود.

می‌توانید معیار را در بخش پایداری در Android vitals پیدا کنید:

شکل 2. به نرخ LMK درک شده توسط کاربر در حیاتی اندروید دسترسی داشته باشید.

مانند سایر معیارهای حیاتی اصلی، مانند ANR ها و خرابی ها، می توانید معیارها را فیلتر کنید، معیارهای خود را با همتایان خود مقایسه کنید، یا تغییرات اندازه گیری را برای مدت زمان طولانی (تا 3 سال) نظارت کنید. داده‌ها برای برنامه‌های موجود از ۲۸ ژانویه ۲۰۲۵ در دسترس است.

شکل 3. بررسی اجمالی نرخ LMK در Android Vitals.

ابزارهای پروفایل حافظه

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

  • ببینید برنامه شما چگونه حافظه را در طول زمان تخصیص می دهد. می‌توانید نموداری بی‌درنگ از میزان حافظه‌ای که برنامه‌تان استفاده می‌کند، تعداد اشیاء جاوا اختصاص داده شده و زمان جمع‌آوری زباله‌ها را بیابید.
  • رویدادهای جمع‌آوری زباله را راه‌اندازی کنید و در حین اجرای برنامه‌تان، از پشته‌های جاوا عکس بگیرید.
  • تخصیص حافظه برنامه خود را ضبط کنید، همه اشیاء اختصاص داده شده را بررسی کنید، و ردیابی پشته برای هر تخصیص را مشاهده کنید.

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

Android Studio ، Memory Profiler را به‌عنوان جزئی از Android Profiler ارائه می‌کند که به شما کمک می‌کند نشت حافظه و ریزش حافظه را شناسایی کنید که می‌تواند منجر به لکنت، فریز و حتی خرابی برنامه شود. نمایه‌ساز نموداری بی‌درنگ از میزان استفاده از حافظه برنامه‌تان را نشان می‌دهد و به شما امکان می‌دهد از یک پشته خالی، جمع‌آوری زباله اجباری، و تخصیص حافظه ردیابی کنید.

شکل 4. مشاهده مراجع جهانی JNI در نمایه حافظه اندروید استودیو.

ابزارهای پروفایل حافظه یونیتی

اگر از Unity Engine برای ساخت برنامه‌های خود استفاده می‌کنید، می‌توانید دستورالعمل‌های نمایه‌سازی حافظه Unity را دنبال کنید. یونیتی دو ابزار برای تجزیه و تحلیل استفاده از حافظه در برنامه شما در Unity ارائه می دهد.

اولین مورد، ماژول Memory Profiler است که یک نمایه ساز داخلی است که اطلاعات اولیه در مورد جایی که برنامه شما از حافظه استفاده می کند به شما می دهد.

ماژول حافظه تخصیص حافظه مانند حافظه بافت و حافظه مش را نشان می دهد.
شکل 5. پنجره Unity Profiler با ماژول Memory انتخاب شده است.

ابزار دوم بسته Memory Profiler است که یک بسته Unity است که می توانید به پروژه خود اضافه کنید. این بسته یک پنجره Memory Profiler اضافی به ویرایشگر Unity اضافه می کند. Memory Profiler شما را قادر می سازد تا میزان استفاده از حافظه را در برنامه خود با جزئیات بیشتری تجزیه و تحلیل کنید. می‌توانید عکس‌های فوری را ذخیره و مقایسه کنید تا نشت‌های حافظه را پیدا کنید یا طرح‌بندی حافظه را ببینید تا مشکلات تکه تکه شدن حافظه را بیابید.

شکل 6. تجزیه و تحلیل یک عکس فوری حافظه با استفاده از پنجره Memory Profiler.

بینش حافظه غیر واقعی

برنامه‌های ساخته شده توسط Unreal Engine می‌توانند از Unreal Memory Insights برای مشاهده اطلاعات دقیق درباره تخصیص و تخصیص حافظه، از جمله برچسب‌های حافظه سطح پایین (LLM) و پشته‌های تماس مرتبط با بلوک‌های حافظه استفاده کنند.

سیستم پرس و جو Memory Insights می‌تواند تخصیص‌های زنده را در هر نقطه از زمان پیدا کند، تغییرات در استفاده از حافظه را شناسایی کند، نشت‌های حافظه را مشخص کند و تخصیص‌های کوتاه‌مدت را از بلندمدت متمایز کند.

از UE 5.4، Memory Insights از ردیابی حافظه با callstacks برای پروژه‌های Android پشتیبانی می‌کند.

ردیاب Memory Insights نمودار حافظه اصلی، تعداد تخصیص زنده و تعداد رویدادهای تخصیص/رایگان را نشان می‌دهد.
شکل 6. ردیاب Unreal's Memory Insights.

منابع اضافی

،

پلتفرم اندروید با این فرض اجرا می شود که حافظه آزاد حافظه هدر رفته است. اندروید سعی می کند همیشه از تمام حافظه های موجود استفاده کند. برای مثال، سیستم پس از بسته شدن برنامه‌ها را در حافظه نگه می‌دارد تا کاربر بتواند به سرعت به آن‌ها برگردد. به همین دلیل، دستگاه‌های Android اغلب با حافظه آزاد بسیار کمی کار می‌کنند ( تخصیص حافظه Android را اینجا ببینید).

فرآیند دیمون قاتل حافظه کم اندروید (LMK) وضعیت حافظه یک سیستم اندرویدی در حال اجرا را نظارت می کند و به فشار بالای حافظه با از بین بردن حداقل فرآیندهای ضروری برای حفظ عملکرد سیستم در سطوح قابل قبول واکنش نشان می دهد.

برای تصمیم‌گیری اینکه کدام فرآیند را بکشد، دیمون LMK از یک امتیاز حافظه خارج از حافظه به نام oom_adj_score برای اولویت‌بندی فرآیندهای در حال اجرا استفاده می‌کند. فرآیندهایی که امتیاز بالایی دارند ابتدا کشته می شوند. برنامه های پس زمینه ابتدا کشته می شوند. فرآیندهای سیستم، آخرین. جدول زیر دسته های امتیازدهی LMK را از بالا به پایین فهرست می کند. اقلام در رده بالاترین امتیاز، در ردیف یک، ابتدا کشته می شوند:

پردازش‌های اندروید از بالاترین امتیاز به پایین‌ترین رتبه‌بندی شدند: برنامه‌های پس‌زمینه، برنامه قبلی، برنامه خانگی،              خدمات، برنامه‌های قابل درک، برنامه پیش‌زمینه، مداوم، سیستمی و بومی.
شکل 1. فرآیندهای اندروید، با نمرات بالا در بالا و امتیازات پایین در پایین.

متریک LMK در اندروید حیاتی

Android vitals می تواند به شما در نظارت و بهبود نرخ LMK برنامه کمک کند. Android vitals تنها یک نرخ LMK را اندازه‌گیری می‌کند: نرخ LMK درک شده توسط کاربر .

این معیار نشان دهنده درصد کاربران فعال روزانه شماست که حداقل یک LMK درک شده توسط کاربر را تجربه کرده اند. LMK درک شده توسط کاربر، LMK است که احتمالاً توسط کاربر مورد توجه قرار گرفته است. به عنوان مثال، LMKهایی که در زمانی اتفاق می‌افتند که برنامه شما یک فعالیت را نمایش می‌دهد یا به عنوان یک سرویس پیش‌زمینه اجرا می‌شود.

می‌توانید معیار را در بخش پایداری در Android vitals پیدا کنید:

شکل 2. به نرخ LMK درک شده توسط کاربر در حیاتی اندروید دسترسی داشته باشید.

مانند سایر معیارهای حیاتی اصلی، مانند ANR ها و خرابی ها، می توانید معیارها را فیلتر کنید، معیارهای خود را با همتایان خود مقایسه کنید، یا تغییرات اندازه گیری را برای مدت زمان طولانی (تا 3 سال) نظارت کنید. داده‌ها برای برنامه‌های موجود از ۲۸ ژانویه ۲۰۲۵ در دسترس است.

شکل 3. بررسی اجمالی نرخ LMK در Android Vitals.

ابزارهای پروفایل حافظه

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

  • ببینید برنامه شما چگونه حافظه را در طول زمان تخصیص می دهد. می‌توانید نموداری بی‌درنگ از میزان حافظه‌ای که برنامه‌تان استفاده می‌کند، تعداد اشیاء جاوا اختصاص داده شده و زمان جمع‌آوری زباله‌ها را بیابید.
  • رویدادهای جمع‌آوری زباله را راه‌اندازی کنید و در حین اجرای برنامه‌تان، از پشته‌های جاوا عکس بگیرید.
  • تخصیص حافظه برنامه خود را ضبط کنید، همه اشیاء اختصاص داده شده را بررسی کنید، و ردیابی پشته برای هر تخصیص را مشاهده کنید.

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

Android Studio ، Memory Profiler را به‌عنوان جزئی از Android Profiler ارائه می‌کند که به شما کمک می‌کند نشت حافظه و ریزش حافظه را شناسایی کنید که می‌تواند منجر به لکنت، فریز و حتی خرابی برنامه شود. نمایه‌ساز نموداری بی‌درنگ از میزان استفاده از حافظه برنامه‌تان را نشان می‌دهد و به شما امکان می‌دهد از یک پشته خالی، جمع‌آوری زباله اجباری، و تخصیص حافظه ردیابی کنید.

شکل 4. مشاهده مراجع جهانی JNI در نمایه حافظه اندروید استودیو.

ابزارهای پروفایل حافظه یونیتی

اگر از Unity Engine برای ساخت برنامه‌های خود استفاده می‌کنید، می‌توانید دستورالعمل‌های نمایه‌سازی حافظه Unity را دنبال کنید. یونیتی دو ابزار برای تجزیه و تحلیل استفاده از حافظه در برنامه شما در Unity ارائه می دهد.

اولین مورد، ماژول Memory Profiler است که یک نمایه ساز داخلی است که اطلاعات اولیه در مورد جایی که برنامه شما از حافظه استفاده می کند به شما می دهد.

ماژول حافظه تخصیص حافظه مانند حافظه بافت و حافظه مش را نشان می دهد.
شکل 5. پنجره Unity Profiler با ماژول Memory انتخاب شده است.

ابزار دوم بسته Memory Profiler است که یک بسته Unity است که می توانید به پروژه خود اضافه کنید. این بسته یک پنجره Memory Profiler اضافی به ویرایشگر Unity اضافه می کند. Memory Profiler شما را قادر می سازد تا میزان استفاده از حافظه را در برنامه خود با جزئیات بیشتری تجزیه و تحلیل کنید. می‌توانید عکس‌های فوری را ذخیره و مقایسه کنید تا نشت‌های حافظه را پیدا کنید یا طرح‌بندی حافظه را ببینید تا مشکلات تکه تکه شدن حافظه را بیابید.

شکل 6. تجزیه و تحلیل یک عکس فوری حافظه با استفاده از پنجره Memory Profiler.

بینش حافظه غیر واقعی

برنامه‌های ساخته شده توسط Unreal Engine می‌توانند از Unreal Memory Insights برای مشاهده اطلاعات دقیق درباره تخصیص و تخصیص حافظه، از جمله برچسب‌های حافظه سطح پایین (LLM) و پشته‌های تماس مرتبط با بلوک‌های حافظه استفاده کنند.

سیستم پرس و جو Memory Insights می‌تواند تخصیص‌های زنده را در هر نقطه از زمان پیدا کند، تغییرات در استفاده از حافظه را شناسایی کند، نشت‌های حافظه را مشخص کند و تخصیص‌های کوتاه‌مدت را از بلندمدت متمایز کند.

از UE 5.4، Memory Insights از ردیابی حافظه با callstacks برای پروژه‌های Android پشتیبانی می‌کند.

ردیاب Memory Insights نمودار حافظه اصلی، تعداد تخصیص زنده و تعداد رویدادهای تخصیص/رایگان را نشان می‌دهد.
شکل 6. ردیاب Unreal's Memory Insights.

منابع اضافی

،

پلتفرم اندروید با این فرض اجرا می شود که حافظه آزاد حافظه هدر رفته است. اندروید سعی می کند همیشه از تمام حافظه های موجود استفاده کند. برای مثال، سیستم پس از بسته شدن برنامه‌ها را در حافظه نگه می‌دارد تا کاربر بتواند به سرعت به آن‌ها برگردد. به همین دلیل، دستگاه‌های Android اغلب با حافظه آزاد بسیار کمی کار می‌کنند ( تخصیص حافظه Android را اینجا ببینید).

فرآیند دیمون قاتل حافظه کم اندروید (LMK) وضعیت حافظه یک سیستم اندرویدی در حال اجرا را نظارت می کند و به فشار بالای حافظه با از بین بردن حداقل فرآیندهای ضروری برای حفظ عملکرد سیستم در سطوح قابل قبول واکنش نشان می دهد.

برای تصمیم‌گیری اینکه کدام فرآیند را بکشد، دیمون LMK از یک امتیاز حافظه خارج از حافظه به نام oom_adj_score برای اولویت‌بندی فرآیندهای در حال اجرا استفاده می‌کند. فرآیندهایی که امتیاز بالایی دارند ابتدا کشته می شوند. برنامه های پس زمینه ابتدا کشته می شوند. فرآیندهای سیستم، آخرین. جدول زیر دسته های امتیازدهی LMK را از بالا به پایین فهرست می کند. اقلام در رده بالاترین امتیاز، در ردیف یک، ابتدا کشته می شوند:

پردازش‌های اندروید از بالاترین امتیاز به پایین‌ترین رتبه‌بندی شدند: برنامه‌های پس‌زمینه، برنامه قبلی، برنامه خانگی،              خدمات، برنامه‌های قابل درک، برنامه پیش‌زمینه، مداوم، سیستمی و بومی.
شکل 1. فرآیندهای اندروید، با نمرات بالا در بالا و امتیازات پایین در پایین.

متریک LMK در اندروید حیاتی

Android vitals می تواند به شما در نظارت و بهبود نرخ LMK برنامه کمک کند. Android vitals تنها یک نرخ LMK را اندازه‌گیری می‌کند: نرخ LMK درک شده توسط کاربر .

این معیار نشان دهنده درصد کاربران فعال روزانه شماست که حداقل یک LMK درک شده توسط کاربر را تجربه کرده اند. LMK درک شده توسط کاربر، LMK است که احتمالاً توسط کاربر مورد توجه قرار گرفته است. به عنوان مثال، LMKهایی که در زمانی اتفاق می‌افتند که برنامه شما یک فعالیت را نمایش می‌دهد یا به عنوان یک سرویس پیش‌زمینه اجرا می‌شود.

می‌توانید معیار را در بخش پایداری در Android vitals پیدا کنید:

شکل 2. به نرخ LMK درک شده توسط کاربر در حیاتی اندروید دسترسی داشته باشید.

مانند سایر معیارهای حیاتی اصلی، مانند ANR ها و خرابی ها، می توانید معیارها را فیلتر کنید، معیارهای خود را با همتایان خود مقایسه کنید، یا تغییرات اندازه گیری را برای مدت زمان طولانی (تا 3 سال) نظارت کنید. داده‌ها برای برنامه‌های موجود از ۲۸ ژانویه ۲۰۲۵ در دسترس است.

شکل 3. بررسی اجمالی نرخ LMK در Android Vitals.

ابزارهای پروفایل حافظه

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

  • ببینید برنامه شما چگونه حافظه را در طول زمان تخصیص می دهد. می‌توانید نموداری بی‌درنگ از میزان حافظه‌ای که برنامه‌تان استفاده می‌کند، تعداد اشیاء جاوا اختصاص داده شده و زمان جمع‌آوری زباله‌ها را بیابید.
  • رویدادهای جمع‌آوری زباله را راه‌اندازی کنید و در حین اجرای برنامه‌تان، از پشته‌های جاوا عکس بگیرید.
  • تخصیص حافظه برنامه خود را ضبط کنید، همه اشیاء اختصاص داده شده را بررسی کنید، و ردیابی پشته برای هر تخصیص را مشاهده کنید.

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

Android Studio ، Memory Profiler را به‌عنوان جزئی از Android Profiler ارائه می‌کند که به شما کمک می‌کند نشت حافظه و ریزش حافظه را شناسایی کنید که می‌تواند منجر به لکنت، فریز و حتی خرابی برنامه شود. نمایه‌ساز نموداری بی‌درنگ از میزان استفاده از حافظه برنامه‌تان را نشان می‌دهد و به شما امکان می‌دهد از یک پشته خالی، جمع‌آوری زباله اجباری، و تخصیص حافظه ردیابی کنید.

شکل 4. مشاهده مراجع جهانی JNI در نمایه حافظه اندروید استودیو.

ابزارهای پروفایل حافظه یونیتی

اگر از Unity Engine برای ساخت برنامه‌های خود استفاده می‌کنید، می‌توانید دستورالعمل‌های نمایه‌سازی حافظه Unity را دنبال کنید. یونیتی دو ابزار برای تجزیه و تحلیل استفاده از حافظه در برنامه شما در Unity ارائه می دهد.

اولین مورد، ماژول Memory Profiler است که یک نمایه ساز داخلی است که اطلاعات اولیه در مورد جایی که برنامه شما از حافظه استفاده می کند به شما می دهد.

ماژول حافظه تخصیص حافظه مانند حافظه بافت و حافظه مش را نشان می دهد.
شکل 5. پنجره Unity Profiler با ماژول Memory انتخاب شده است.

ابزار دوم بسته Memory Profiler است که یک بسته Unity است که می توانید به پروژه خود اضافه کنید. این بسته یک پنجره Memory Profiler اضافی به ویرایشگر Unity اضافه می کند. Memory Profiler شما را قادر می سازد تا میزان استفاده از حافظه را در برنامه خود با جزئیات بیشتری تجزیه و تحلیل کنید. می‌توانید عکس‌های فوری را ذخیره و مقایسه کنید تا نشت‌های حافظه را پیدا کنید یا طرح‌بندی حافظه را ببینید تا مشکلات تکه تکه شدن حافظه را بیابید.

شکل 6. تجزیه و تحلیل یک عکس فوری حافظه با استفاده از پنجره Memory Profiler.

بینش حافظه غیر واقعی

برنامه‌های ساخته شده توسط Unreal Engine می‌توانند از Unreal Memory Insights برای مشاهده اطلاعات دقیق درباره تخصیص و تخصیص حافظه، از جمله برچسب‌های حافظه سطح پایین (LLM) و پشته‌های تماس مرتبط با بلوک‌های حافظه استفاده کنند.

سیستم پرس و جو Memory Insights می‌تواند تخصیص‌های زنده را در هر نقطه از زمان پیدا کند، تغییرات در استفاده از حافظه را شناسایی کند، نشت‌های حافظه را مشخص کند و تخصیص‌های کوتاه‌مدت را از بلندمدت متمایز کند.

از UE 5.4، Memory Insights از ردیابی حافظه با callstacks برای پروژه‌های Android پشتیبانی می‌کند.

ردیاب Memory Insights نمودار حافظه اصلی، تعداد تخصیص زنده و تعداد رویدادهای تخصیص/رایگان را نشان می‌دهد.
شکل 6. ردیاب Unreal's Memory Insights.

منابع اضافی