我使用simpleFTP來請求文檔信息。我檢測內存泄漏與儀器如下:simpleftp中的內存泄露
而在調用樹我發現是內存泄漏發生的地點:
的方法「_parseListData」,如下圖:
- (void)_parseListData
{
NSMutableArray * newEntries;
NSUInteger offset;
// We accumulate the new entries into an array to avoid a) adding items to the
// table one-by-one, and b) repeatedly shuffling the listData buffer around.
newEntries = [NSMutableArray array];
assert(newEntries != nil);
offset = 0;
do {
CFIndex bytesConsumed;
CFDictionaryRef thisEntry;
thisEntry = NULL;
assert(offset <= self.listData.length);
bytesConsumed = CFFTPCreateParsedResourceListing(NULL, &((const uint8_t *) self.listData.bytes) [offset], self.listData.length - offset, &thisEntry);
if (bytesConsumed > 0) {
........
}
我不知道如何解決這個問題。
方法「CFFTPCreateParsedResourceListing
」是一個系統方法,它創建__NSDate
(看看第二個圖片)。
這是發生內存泄漏的地方。
此代碼已被列入該功能爲:如果(thisEntry!= NULL){ CFRelease(thisEntry); }我只是繞過它而已 – itenyh