Perpustakaan iOS yang menyediakan alat pengembang untuk menjelajahi objek dalam memori dari waktu ke waktu, menggunakan fballocationTracker dan fbretaincycledetector.
Perpustakaan ini menunjukkan bagaimana FBAllocationTracker
dan FBRetainCycleDetector
dapat bekerja sama bersama, dan bagaimana mereka dapat digunakan dalam aplikasi nyata.
Ini menggunakan fallocationTracker untuk mengumpulkan informasi tentang objek. Ini mendukung generasi dan mempertahankan deteksi siklus.
Berikut adalah demo kecil (proyek tersedia di Direktori Contoh)
Ke cartfile Anda tambahkan:
github "facebook/FBMemoryProfiler"
FBMemoryProfiler
dibangun dari build non-debug, jadi saat Anda ingin mengujinya, gunakan
carthage update --configuration Debug
Ke podspec Anda menambahkan:
pod 'FBMemoryProfiler'
Anda akan dapat menggunakan FBMemoryProfiler
sepenuhnya hanya di Debug
Builds. Ini dikendalikan oleh bendera kompilasi yang dapat disediakan untuk build untuk membuatnya bekerja di konfigurasi lain.
Untuk mulai menggunakan FBMemoryProfiler
Anda pertama -tama harus mengaktifkan 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 ]));
}
}
Untuk mengaktifkan profiler memori:
# import < FBMemoryProfiler/FBMemoryProfiler.h >
FBMemoryProfiler *memoryProfiler = [FBMemoryProfiler new ];
[memoryProfiler enable ];
// Store memory profiler somewhere to extend it's lifetime
_memoryProfiler = memoryProfiler;
FBMemoryProfiler
akan muncul sebagai tombol di layar. Setelah disadap, itu akan membuka profiler memori dalam mode ukuran penuh.
Kami juga dapat mendefinisikan plugin (periksa di bawah) dan filter untuk mempertahankan detektor siklus, yang kami lewati ke konfigurasi.
_memoryProfiler = [[FBMemoryProfiler alloc ] initWithPlugins: @[[IncredibleCacheCleaningPlugin new ],
[AwesomeLoggerPlugin new ]]
retainCycleDetectorConfiguration: someConfigurationWithCustomFilters];
[_memoryProfiler enable ];
Plugin adalah objek yang sesuai dengan protokol FBMemoryProfilererPluggable. Contoh Penggunaan: Pembersih cache khusus, penebang yang mencatat data ke server.
Lihat file yang berkontribusi untuk cara membantu.
Lihat (lisensi)