I recently worked on an Android app that parsed large amounts of JSON-formatted data. We would routinely allocate 20 or 30 kilobytes of heap space for Strings of JSON-formatted text retrieved from a server. We’d pass the strings to the Android framework’s JSONObject class in order to construct our data models. After downloading many objects in a short amount of time we discovered that we were frequently running out of memory and decided that we needed a different strategy to parse the content we downloaded from our server: all those Strings and JSONObjects on the heap were killing us.
read more- http://tech.xtremelabs.com/parsing-json-data-efficiently-on-android-jsonreader/