0

我正在尝试检测剪贴板中对象的大小。我试过:

UIPasteBoard *pb = [UIPasteboard generalPasteboard];
for(NSDictionary *myDictionary in [pb items]){
    NSLog(@"%zu", malloc_size((__bridge const void *)(myDictionary)));
}

问题是无论剪贴板中有一个单词(纯文本)还是一部电影,它都会返回一个相似的数字!

如何为剪贴板中的对象找到可靠的大小?

4

1 回答 1

0

在这种情况下,malloc_size只包括 NSDictionary 的“结构”,而不包括它分配和保存指针的任何内存。简而言之,malloc_size对于这个目的是相当无用的。

要了解粘贴板上对象的大小,您可以尝试以下操作:

UIPasteboard* pb = [UIPasteboard generalPasteboard];
NSUInteger totalSize = 0;
for (NSString* type in pb.pasteboardTypes)
{
    NSData* data = [pb dataForPasteboardType: type];
    totalSize += data.length;
}
于 2013-08-23T13:46:54.523 回答