首页 > 解决方案 > 编译对移动应用程序的影响?

问题描述

因此,当您创建移动应用程序时,您通常打算将您的应用程序分发到多个平台和架构。但是,由于目标代码通常取决于架构等因素,因此您必须为所有不同的手机编译应用程序。那么,您的应用程序是否真的为该应用程序可用的所有不同手机编译?每当用户在他/她的设备上运行应用程序时,是否会进行这种专门针对的编译?就像在设备本身上一样,还是在应用程序实际安装在手机上之前完成编译?

标签: androidc++ios

解决方案


那么,您的应用程序是否真的为该应用程序可用的所有不同手机编译?

简短的回答:是的。

每当用户在他/她的设备上运行应用程序时,是否会进行这种专门针对的编译?

不; 这是在创建包时完成的(否则您将在应用程序中发送所有源代码!)这意味着一个包可能包含在多个架构上运行所需的多个库。

就像在设备本身上一样,还是在应用程序实际安装在手机上之前完成编译?

对于要放入包中的共享对象,编译是在创建包之前完成的。在安装包的过程中,所需的共享对象被复制到手机上(我怀疑不需要的共享对象被丢弃了,但它们可能不是!)。

然而,android 支持的架构数量相对较少;虽然支持它们确实会增加包装的尺寸,但尺寸很少成为问题。

选择:

如果您不想将共享对象放入包中,另一种方法是托管它们并在运行时下载适当的对象。

这样做的问题是这确实会影响用户体验(我个人讨厌当我下载一个应用程序时,然后它说它想要下载更多;感觉它是一种绕过谷歌想要做的任何安全检查的机制)


推荐阅读