简体   繁体   中英

What will be the size(memory)of NSMutableArray?

I am parsing json data,and i store them into an NSMutableArray . For each data,parameters are as the following format,

{
    "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"
}

i am parsing about 100K of data,what will be the size(memory) of that array ? Will it be a memory issue if i use it for an iphone app ?

You can try to find out size of your array with the following piece of code :

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

you need to do : #import <objc/runtime.h>

The array itself won't take that much space -- it's just a bunch of pointers. An array with tens of thousands of items can still only be a few dozen kilobytes. The space taken by the objects that the array contains is likely to be much more significant. But that is something only you can see -- there is no "size of an object in an array." It's like asking "How big is a ball?" It is possible that your data's space needs are problematic, and it's equally possible that there's no problem at all. As with many programming questions, I think the best answer is to try and see for yourself.

为什么你不能每次下载100条记录,就像应用程序然后在应用程序商店那样,该应用程序将加载更快,如果你想看到内存的流量,你可以通过这个链接http://mobileorchard.com /找到-iphone-内存泄漏-A-泄漏工具教程/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM