我在内存中遇到RNDecryptor(+)内存已满的问题“for”我称这个方法为es:
for (int i=0; i < [datasource fileCount]; i++) {
...
datacrypto = [RNDecryptor decryptData:datacrypto withSettings:kRNCryptorAES256Settings password:passcode error:nil];
....
}
RNDecryptor分配内存,但调用不会空,迟早没有更多的空闲内存和CRASH ...它可能在调用之间释放+ [RNDecriptor ...]或者作为解决方案?
谢谢。答案 0 :(得分:-1)
这是该方法的实现。
+ (NSData *)decryptData:(NSData *)theCipherText withSettings:(RNCryptorSettings)settings password:(NSString *)aPassword error:(NSError **)anError
{
RNDecryptor *cryptor = [[self alloc] initWithPassword:aPassword
handler:^(RNCryptor *c, NSData *d) {}];
cryptor.settings = settings;
return [self synchronousResultForCryptor:cryptor data:theCipherText error:anError];
}
这不是单身人士,还是有其他分支?如果没有,您最好实现自己的singleton
模式。