【发布时间】:2019-08-01 23:23:42
【问题描述】:
我目前正在开发一个应用程序,我需要在其中搜索来自 REST API 服务的元素列表。但是每次我进行搜索时,内存使用量都会不断增加。
每次进行搜索时,我都会执行以下步骤: 1.我清理清单 2.我调用一个方法给我带来来自REST API的请求列表 2.我通过调用请求方法设置列表
myList.clear();
myList = GetListFromREST("https://myrestapi.com/itemList");
async Task<List<Item>> GetListFromREST(string url)
{
List<Item> result;
var response = await new RestService<Response>().GetDataAsyc(url);
if (response.Error.StatusCode == 200)
{
result = response.Data;
}
else
{
throw ex;
}
return result;
}
根据内存诊断工具内存总是不断上升和上升。这对我来说没有意义,因为当我清除它时,它必须恢复。
【问题讨论】:
-
除非你有内存问题,否则不要担心,但如果你真的想,不要分配那么多......事实上.net不会积极的垃圾收集并将内存归还给操作系统除非有需要
-
附带说明,请始终尽可能使用
using语句。虽然这不会从本质上为您节省分配,但无论如何都是明智之举 -
response是否实现了IDisposable? -
@mjwillis no,响应没有实现
IDisposable
标签: c# list memory-management garbage-collection