开发时需要从本地的SD卡读取json文件导入数据库,文件有1.3M大小,使用Gson读取时报错内存溢出,这个怎么解决??
Gson提供了流,不要用String就行。
Gson gson = new Gson();
Reader reader = new FileReader("/path/to/file");
YourBean bean = gson.fromJson(reader,YourBean.class);
这次是我傻逼了。。。
Gson 是 通过 查找 key 去一一对应地把值赋值到 UserBean中的。。。。
所以,必须保证API中返回的Json数据中的Key和UserBean一样即可。
1 回答622 阅读✓ 已解决
1 回答1.5k 阅读
1 回答1.3k 阅读
1 回答1.2k 阅读
1 回答986 阅读
1 回答648 阅读
1 回答752 阅读
首先你没贴出具体错误信息。
至于OOM,对于超大(虽然你这1.3M不叫超大)的json文件,采用
Json String
是必然OOM的。推荐采用FastJson,内置了超大json文件处理API
https://github.com/alibaba/fastjson/wiki/Stream-api