3

我正在解析 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 应用程序,会不会是内存问题?

4

3 回答 3

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>

于 2013-05-15T07:21:47.777 回答
4

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

于 2012-11-07T07:32:02.763 回答
0

为什么你不能像应用程序那样每次下载 100 条记录然后在应用程序商店中所以,应用程序将比以前加载得更快如果你想查看内存的流动,你可以通过这个链接http://mobileorchard.com /find-iphone-memory-leaks-a-leaks-tool-tutorial/

于 2012-11-07T06:39:20.000 回答