【发布时间】:2011-05-26 07:24:04
【问题描述】:
我正在使用面向 iOS 4.1 或更高版本的 SDK 4.1 开发 iPhone 应用程序。
Instruments 报告以下代码的内存泄漏。
void (^resultBlock)(ALAsset *) = ^(ALAsset *asset) {
NSLog(@"resultBlock");
};
void (^failureBlock)(NSError *) = ^(NSError *error) {
NSLog(@"error");
};
NSURL *url = [NSURL URLWithString:@"assets-library://asset/asset.JPG?id=1000000176&ext=JPG"];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:url resultBlock:resultBlock failureBlock:failureBlock];
[library release];
我只是将此代码放在我的 TestApp 的 viewDidLoad 中进行测试。(我在实际项目中使用 UIImagePicker。)
当我使用 Instrument(leak) 运行 TestApp 时,它会在启动后大约 10 秒报告内存泄漏。
谁能告诉我这段代码有什么问题或者我应该做些什么吗?
谢谢。
【问题讨论】:
-
我遇到了同样的问题,我正在尝试自己追踪它。你找到解决办法了吗?
-
发生“启动后 10 秒”时间,因为默认情况下 Instruments 每 10 秒拍摄一次快照。您可以在泄漏 - 快照 - 快照间隔(秒)中更改此时间。您还可以随时在同一位置手动拍摄快照。
标签: iphone objective-c memory-leaks