我有一个移动应用程序,它使用HttpWebRequest调用Web服务,然后将其解析为JArray。当JSON字符串很长(~20MB)时,我遇到内存问题,我的iPad正在接收内存警告并最终崩溃。
当我排除JArray.Parse步骤时,我没有看到这些内存警告。
有没有其他方法来构建我的JArray,这会更有效地记忆?
string longJsonStringFromWebService = "";
HttpWebRequest request = ...
using(WebResponse response = await request.GetResponseAsync())
{
using (StreamReader streamReader = new StreamReader(response.GetResponseStream())
{
longJsonStringFromWebService = reader.ReadToEnd();
}
}
...
JArray jsonArray = JArray.Parse(longJsonStringFromWebService);