日々精進

新しく学んだことを書き留めていきます

HTTP通信時のCFDataのメモリリーク

socket.io-objc v0.3.3でxhr-polling通信を行うとメモリリークが発生する。
CFDataが解放されずどんどんたまる。
これはNSURLCacheがCFDataをキャッシュしていることが原因。
下記を通信が終わったタイミングで実行するとCFDataが解放される。

    NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
    [NSURLCache setSharedURLCache:sharedCache];

参考:CFData Memory Problem - iPhone Dev SDK