UIPasteboard没有释放它的内存?

时间:2017-02-17 02:35:55

标签: ios objective-c uipasteboard

这样的代码:

json.loads(source)

在P1,内存使用量增加20MB,这很容易理解,但P2和p3也会增加20MB。我打印的物品和genePasteboard.items的地址,那两个是不一样的,这意味着我每次参考genePasteboard.items,它会复制整件物品吗?

我的另一个问题是:当我使用这样的代码清除UIPasteboard时:

NSData *data = [NSMutableData dataWithLength:20*1024*1024];
UIPasteboard* genePasteboard = [UIPasteboard generalPasteboardSwizzle];
genePasteboard.items = @[@{@"test":data}];        //P1
NSLog(@"%d", (int)[genePasteboard.items count]);  //P2
NSArray<NSDictionary<NSString *, id> *> *items = genePasteboard.items  //P3

内存使用率不会立即降低,只有当我继续这个过程时,它会在某个时候释放(猜测在下一个主循环?),所以,我怎么知道genePasteboard.items内存何时释放还是我可以马上发布它?

0 个答案:

没有答案