我有一个 iOS 缓存系统,我想添加一个函数来记录对象列表的内存使用情况。
那么如何计算自定义对象的内存使用量呢?
Best Answer-推荐答案 strong>
你有很多工作要做。使用 class_getInstanceSize() 将为您获取一个对象的实例大小,但不会为对象引用的对象获取实例大小。每个对象引用只会算作一个 4 字节指针,而不是被引用对象的实际实例大小。
你可以很聪明,使用 class_copyIvarList() ,遍历 ivars 并询问作为对象的任何 ivar 的实例大小,然后递归地为你的父类(super class)做同样的事情,直到你点击根类。
或者您可以使用内存分配模板启动 Instruments,并实时测量实际内存使用情况。
关于objective-c - Objective C 中特定对象的内存使用情况,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/7173043/
|