再次遇到OutOfMemoryError(新的原因造成)
来源:互联网 发布:男士护肤 平价 知乎 编辑:程序博客网 时间:2024/04/28 12:51
移动学习4.0,在作业、资源、活动页面快速来回切换时,容易OutOfMemoryError,查看报错信息
java.lang.OutOfMemoryErrorat com.alibaba.fastjson.serializer.SerializeWriter.expandCapacity(SerializeWriter.java:209)at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:697)at com.alibaba.fastjson.serializer.SerializeWriter.writeStringWithDoubleQuote(SerializeWriter.java:620)at com.alibaba.fastjson.serializer.SerializeWriter.writeString(SerializeWriter.java:1481)at com.alibaba.fastjson.serializer.StringCodec.write(StringCodec.java:50)at com.alibaba.fastjson.serializer.StringCodec.write(StringCodec.java:35)at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:183)at com.alibaba.fastjson.serializer.ListSerializer.write(ListSerializer.java:127)at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:183)at com.alibaba.fastjson.serializer.ListSerializer.write(ListSerializer.java:127)at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:188)at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:188)at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:361)at com.alibaba.fastjson.JSON.toJSONString(JSON.java:594)at com.alibaba.fastjson.JSON.toString(JSON.java:588)at com.alibaba.fastjson.JSONObject.getString(JSONObject.java:272)at com.handsome.C_WebServicesTools.ParseJsonUtils.parseHomeworkJsonList(ParseJsonUtils.java:336)at com.handsome.C_WebServicesTools.LogicHttpRequest$2.run(LogicHttpRequest.java:78)at java.lang.Thread.run(Thread.java:856)
定位到具体方法:
<span style="font-size:12px;">JSONArray resultArray = JSONArray.parseArray(jsonObj.getString("responseList"));</span>
又是getString内存崩了,WTF
查了一下获取的json串,足足8.7MB,不tm崩都怪了。
上网查了一下,当数据量过大时,解析json都会崩,没什么特别好解决办法。
解决方案:
1、瘦身json,和服务端沟通,把没用数据屏蔽掉,不发给客户端。
2、分页请求,每次请求10条,每上拉刷新一次加载10条数据
0 0
- 再次遇到OutOfMemoryError(新的原因造成)
- 一个新的原因造成Unable to start activity ComponentInfo
- 什么原因?竟然再次遇到你--孟伟超
- 7.1 :OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况:
- 遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些?TableView的性能优化
- 遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些?
- 缩小造成问题的原因
- 容易造成core的原因
- spinlock造成死锁的原因
- 造成segment fault的原因
- 造成软件复杂性的原因
- 操作系统课程设计创建新进程造成消耗系统资源死机问题的原因
- 新的起点,再次起跑
- 关于android编程遇到java.lang.OutOfMemoryError: bitmap size exceeds VM budget此类问题的原因及解决办法
- 造成执行不力的十六种原因
- 造成服务器不稳定的七个原因
- 造成ORA-01843的一些原因
- 造成商业软件失败的13种原因
- Android开发入门之GridView(九宫图)用法
- JavaScript-简介和基本功能
- cvs check项目的时候在构建期间出错问题
- UI Automator Viewer
- 黑马程序员_Java基础_我的day20学习笔记
- 再次遇到OutOfMemoryError(新的原因造成)
- Js的eval解析JSON中的注意点
- ATMEL处理器自带USB CDC的Win7驱动问题
- 码神-day3-linux
- HDU1012打表之魂永流传
- socket05---recv && send使用,回射客户端
- 企业SEO策略:决策权其实在你手里
- 通过DL4J使用递归网络
- Linux下ActiveMQ自启动