POSAllocationTracker 版本 1.3.1

POSAllocationTracker 版本 1.3.1

测试已测试
语言语言 Objective C++Objective C++
许可证 MIT
发布最新版本2018年6月

Pavel Osipov 维护。



  • 作者:
  • Pavel Osipov

POSAllocationTracker

Version

POSAllocationTracker 是一个简单的运行时跟踪类实例的实用程序。在初始化过程中,追踪器自动监视所有使用直接或间接使用 NSObjectinit 方法的类。追踪仅在 DEBUG 构建中启用,所以它不会影响发布构建的性能。这个库的想法是在阅读 Facebook 的文章 Reducing FOOMs in the Facebook iOS app 时产生的。库非常简单易用。它只有一个类和一个方法。

[POSAllocationTracker instanceCountForClass:Dummy.class]

以下是该库单元测试中的一个完整示例

@interface Dummy : NSObject
@end

@implementation Dummy
@end

@interface POSAllocationTrackerTests : XCTestCase

@end

@implementation POSAllocationTrackerTests

- (void)testInstanceCounterCorrectness {
    XCTAssert([POSAllocationTracker instanceCountForClass:Dummy.class] == 0);
    @autoreleasepool {
        __unused Dummy *dummy = [Dummy new];
        XCTAssert([POSAllocationTracker instanceCountForClass:Dummy.class] == 1);
    }
    XCTAssert([POSAllocationTracker instanceCountForClass:Dummy.class] == 0);
}

@end