NSMutableArray的大小(内存)是多少?

时间:2012-11-07 05:20:50

标签: iphone objective-c xcode json nsmutablearray

我正在解析json数据,并将它们存储到NSMutableArray中。 对于每个数据,参数如下格式

{
    "id":"6",
    "username":"biju",
    "password":"biju123",
    "usertype":"2",
    "first_name":"biju",
    "last_name":null,
    "email":"b@b.com",
    "blocked":"N",
    "created":"2012-11-02 16:03:19",
    "image":"http:\/\/192.168.1.254\/eatthos\/assets\/upload\/users\/1351852399_thumb.jpg","thumb_image":"1351852399_thumb.jpg",
    "menu_image":"0",
    "thumb_menu_image":"0",
    "city":"njdfh",
    "favorite_food":"kafh",
    "favorite_restaurant":"kafdhj",
    "phone_number":"0",
    "description":"0",
    "token":"Dwx0DG",
    "fb_unique_id":null,
    "account_type":"normal",
    "twitter_id":null,
    "followers":"5",
    "follow":"N"
}

我正在解析大约100K的数据,那个数组的大小(内存)是多少? 如果我将它用于iPhone应用程序,它会成为内存问题吗?

3 个答案:

答案 0 :(得分:8)

您可以尝试使用以下代码查找数组的大小:

size_t total;
 id obj;
 for (obj in array)
 {
    total += class_getInstanceSize([obj class]);
 }

 NSLog(@"Array size : %ld",total); //This will return you size in bytes

你需要这样做:#import <objc/runtime.h>

答案 1 :(得分:4)

数组本身不会占用太多空间 - 它只是一堆指针。包含数万个项目的数组仍然只能是几十千字节。数组包含的对象所占用的空间可能更为重要。但这只是你能看到的东西 - 没有“数组中对象的大小”。这就像问“球有多大?”您的数据空间需求可能存在问题,同样可能完全没有问题。与许多编程问题一样,我认为最好的答案是亲自尝试看看。

答案 2 :(得分:0)

为什么不能像应用程序那样每次下载100条记录,然后在应用程序商店中 所以,该应用程序将加载之前更快 如果您想查看内存流,可以浏览此链接http://mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/