مكتبة iOS التي توفر أدوات المطورين لتصفح الكائنات في الذاكرة مع مرور الوقت ، باستخدام FBALCOCETTRACKER و FBRETAINCYCLEDETECTURT.
توضح هذه المكتبة كيف يمكن لـ FBAllocationTracker
و FBRetainCycleDetector
التعاون معًا ، وكيف يمكن استخدامهما في التطبيق الحقيقي.
ويستخدم fballocationTracker لجمع معلومات حول الكائنات. وهو يدعم الأجيال ويحتفظ بكشف الدورة.
فيما يلي عرض تجريبي صغير (يتوفر المشروع في دليل المثال)
إلى إضافة Cartfile:
github "facebook/FBMemoryProfiler"
تم بناء FBMemoryProfiler
من بنيات غير Debug ، لذلك عندما تريد اختباره ، استخدمه
carthage update --configuration Debug
إلى إضافة podspec:
pod 'FBMemoryProfiler'
ستتمكن من استخدام FBMemoryProfiler
بالكامل فقط في بنيات Debug
. يتم التحكم في ذلك بواسطة علامة التجميع التي يمكن توفيرها إلى البناء لجعلها تعمل في تكوينات أخرى.
للبدء في استخدام FBMemoryProfiler
، ستحتاج أولاً إلى تمكين FBAllocationTracker
.
# import < FBAllocationTracker/FBAllocationTrackerManager.h >
int main ( int argc, char * argv[]) {
[[FBAllocationTrackerManager sharedManager ] startTrackingAllocations ];
[[FBAllocationTrackerManager sharedManager ] enableGenerations ];
@autoreleasepool {
return UIApplicationMain (argc, argv, nil , NSStringFromClass ([AppDelegate class ]));
}
}
لتمكين البروفيلر الذاكرة:
# import < FBMemoryProfiler/FBMemoryProfiler.h >
FBMemoryProfiler *memoryProfiler = [FBMemoryProfiler new ];
[memoryProfiler enable ];
// Store memory profiler somewhere to extend it's lifetime
_memoryProfiler = memoryProfiler;
سوف تظهر FBMemoryProfiler
كزر على الشاشة. بمجرد الاستغلال ، سيفتح Profiler الذاكرة في وضع الحجم الكامل.
يمكننا أيضًا تحديد المكونات الإضافية (تحقق أدناه) ومرشحات للكشف عن دورة الاحتفاظ ، والتي ننتقل إليها إلى التكوين.
_memoryProfiler = [[FBMemoryProfiler alloc ] initWithPlugins: @[[IncredibleCacheCleaningPlugin new ],
[AwesomeLoggerPlugin new ]]
retainCycleDetectorConfiguration: someConfigurationWithCustomFilters];
[_memoryProfiler enable ];
المكونات الإضافية هي كائنات تتوافق مع بروتوكول FBMemoryProfilerPluggable. مثال الاستخدام: منظفات ذاكرة التخزين المؤقت المخصصة ، تسجيلات تسجيل الدخول التي تقوم بتسجيل البيانات إلى الخادم.
راجع الملف المساهم حول كيفية المساعدة.
انظر (ترخيص)