使用Gson将json文件转换为列表时出现outofmemory异常
Caused by
java.lang.OutOfMemoryError
Failed to allocate a 18874376 byte
allocation with 18575992 free
bytes and 17MB until OOM, target
footprint 268435456, growth limit
268435456
@Nullable
public <T> List<T> getConvertedListFromJson(JSONArray jsonArray, Class<T> type) throws OutOfMemoryError{
Gson gson = new Gson();
return gson.fromJson(jsonArray.toString(), new ListOf<>(type));
}
如何克服这个问题
1条答案
按热度按时间jm2pwxwz1#
OutOfMemoryError通常意味着你做错了什么,要么是持有对象太久,要么是试图一次处理太多的数据。有时,它意味着你无法控制的问题,比如缓存字符串的第三方库,或者部署后没有清理的应用服务器。有时,它与堆上的对象无关。