我最近使用Google的Flutter Framework开发了一个Android应用程序。当深入研究应用程序编译时发生的情况时,我发现该抖动会生成四个Blob数据(非ELF二进制文件)。 Flutter引擎如何在运行时加载该代码(如果没有记错的话,是我开发的源代码)?
我在Flutter引擎文档中搜索了更多信息,但是我唯一能找到的是,引擎“映射”了这些blob(称为快照)。 来源:https://github.com/flutter/flutter/wiki/Flutter-engine-operation-in-AOT-Mode) 该“映射”实际上如何工作?我了解到,颤振引擎可以通过JNI与基础的AndroidRunner应用程序进行通信,但是它如何加载我开发的Dart代码? 我试图阅读Flutter引擎的源代码,但是它是用C ++编写的,对此我并不熟悉。
因此,如果任何人对Android flutter应用程序的启动过程有更深入的了解,任何新信息或建议都将不胜感激,那么我似乎无法全神贯注于那些二进制数据文件的状况