使用Gson将json转换为列表时出现内存不足异常错误

eufgjt7s  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(196)

使用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));

}

如何克服这个问题

jm2pwxwz

jm2pwxwz1#

OutOfMemoryError通常意味着你做错了什么,要么是持有对象太久,要么是试图一次处理太多的数据。有时,它意味着你无法控制的问题,比如缓存字符串的第三方库,或者部署后没有清理的应用服务器。有时,它与堆上的对象无关。

相关问题