Air*_*717 4 windows native dart dart2native
我用 dart 制作了一个控制台应用程序,它可以计算 2 个数字并将它们打印出来,大小约为 5 MB !!
下载链接(仅限 Windows)https://drive.google.com/open?id=1sxlvlSZUdxewzFNiAv_bXwaUui2gs2yA
这是代码
import 'dart:io';
int inputf1;
int inputf2;
int inputf3;
void main() {
stdout.writeln('Type The First Number');
var input1 = stdin.readLineSync();
stdout.writeln('You typed: $input1 as the first number');
sleep( Duration(seconds: 1));
stdout.writeln('\nType The Second Number');
var input2 = stdin.readLineSync();
stdout.writeln('You typed: $input2 as the second number');
sleep( Duration(seconds: 1));
inputf1 = int.parse(input1);
inputf2 = int.parse(input2);
inputf3 = inputf1 + inputf2;
print('\nfinal answer is : $inputf3');
sleep( Duration(seconds: 10));
}
Run Code Online (Sandbox Code Playgroud)
大可执行文件的原因是因为dart2native编译器并没有真正制作一个可执行文件,您可以从头开始直接在您的机器上运行。相反,它将dartaotruntime可执行文件与 AOT 编译的 Dart 程序打包在一起。
在dartaotruntime包含了所有的飞镖运行时库和dart2native不从删除任何东西dartaotruntime(因为它是一个二进制也很难),所以你会得到整个运行时,即使你只增加了两个数字。
但它并没有那么糟糕,因为它是每个程序的单一成本惩罚。所以如果你制作一个非常大的程序,dartaotruntime仍然只包含一次。
但是,如果您在单个包中部署许多小程序,我建议您添加-k aot参数,dart2native以便它而不是可执行文件将生成一个.aot文件,然后您可以使用dartaotruntime <program.aot>.
这将使您的部署更加复杂,但您只需要提供dartaotruntime二进制.aot文件和多个文件。
我已经为 Windows 64 位在 Dart.exe和.aotDart 上编译了你的程序。版本 2.8.2 以便您可以看到大小差异:
同样,-k aot如果您只打算部署单个可执行文件,则不会为您节省任何磁盘空间。但是如果您的项目包含许多程序,它可以节省很多。
还应该注意的是,该.aot文件与该.exe文件一样依赖于平台。并且您应该使用与dartaotruntime用于编译文件的版本相同的版本。
小智 -2
这是因为原生 dart 应用程序是通过合并渲染引擎制作的...我知道这对于所有基于 dart 的 flutter 应用程序都是正确的。也看看这个https://medium.com/@rajesh.muthyala/app-size-in-flutter-5e56c464dea1
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |