1

我正在使用ARC,并使用此代码从 17.4 pdf 加密文件中加载数据。

NSData *fileData =[NSData dataWithContentsOfURL:docUrl];
NSMutableData *decPdf = // decrypt using third party library
CFDataRef PDFData = (__bridge CFDataRef)decPdf;
CGDataProviderRef provider = CGDataProviderCreateWithCFData(PDFData);
PDFDocument = CGPDFDocumentCreateWithProvider(provider);
CGDataProviderRelease(provider);

Low Memory warning应用程序崩溃后在 iPad1 上NSData *fileData =[NSData dataWithContentsOfURL:docUrl]。在这一部分中,我可以做些什么来更好地管理内存吗?如果没有,我应该如何正确处理内存警告以防止崩溃?

4

1 回答 1

0

作为快速检查,您可以尝试将代码包装在单独的@autoreleasepool{}块中。

@autoreleasepool {
    NSData *fileData =[NSData dataWithContentsOfURL:docUrl];
    NSMutableData *decPdf = // decrypt using third party library
    CFDataRef PDFData = (__bridge CFDataRef)decPdf;
    CGDataProviderRef provider = CGDataProviderCreateWithCFData(PDFData);
    PDFDocument = CGPDFDocumentCreateWithProvider(provider);
    CGDataProviderRelease(provider);
}
于 2013-08-27T08:58:31.860 回答