对于 500 行代码的程序,我遇到了很长的 apk 生成时间(准确地说是 14 984 秒),所以我想知道我是否做错了什么。
我正在使用 flutter,flutter build apk --split-per-abi 命令。
我的程序使用一个很长的列表(330 000 个项目,每个项目都是一个单词),这个列表在单独的 dart 文件中声明和设置。
之前,列表较短,大约 130 000 项,生成时间约为 15 分钟。
我很想知道生成时间是否与这个巨大的列表有关,如果有的话,优化生成时间的最佳方法是什么?
优化生成时间的最佳方法是什么?
将大列表移出 Dart 代码。相反,将其存储在 JSON 等外部文件中,并在运行时加载它。这至少会减少编译负载。
如果该列表在编译时至关重要,请考虑将其拆分为多个文件并根据需要加载它们。
如果可行,请考虑为您的列表实施延迟加载。根据需要仅加载必要的项目,而不是在启动时加载整个列表。
// Load list from an external file at runtime
Future<List<String>> loadList() async {
final data = await rootBundle.loadString('assets/wordlist.json');
return (json.decode(data) as List).map((e) => e.toString()).toList();
}
并通过仅重建应用程序已更改的部分来使用 Flutter 的增量构建(使用
dartdevc
)。