我玩了 HttpRequest 并意识到在任何请求后都没有清理内存。一段时间后,Chrome 中的运行选项卡将崩溃。
这是一些测试代码。将一个大文件放入“web”目录并相应地在代码中设置 URL。
import 'dart:async';
import 'dart:html';
void main() {
const PATH = "http://127.0.0.1:3030/PATH_TO_FILE";
new Timer.periodic(new Duration(seconds:10), (Timer it)=>getString(PATH));
}
void getString( String url){
HttpRequest.getString(url).then((String data){
});
}
刚复查,内存泄漏依然存在:
- 当前版本:24275
- 使用时长:30 秒
- 使用的文件:chromium\chrome.dll.pdb 复制到当前项目的 web 目录
- 在 Windows 64bit 和 Linux 64bit 下试过
内存泄漏仅存在于 Dartium 中。当我将代码编译为 JS 并在 Firefox 中运行时,内存使用量上升到 3.5 GB 并保持不变。
这真的是一个错误还是我做错了什么?