繁体   English   中英

本机代码在Android / iPhone应用程序开发中的影响

[英]The impact of native code in Android/iPhone app development

我想为Android iOS创建一个应用程序。

现在,我必须在我的应用程序中使用大量本机C ++代码。
所以我想知道:

  • 有关使用本机代码的任何性能问题吗?
  • 是否可以使用本机代码完全控制(移动电话的)资源?
  • 在Android或iOS中使用本机代码有任何限制或缺点吗?
  • 您能否建议在Android / iOS应用开发中大量使用本机代码? 或者可能是气馁?

我没有任何IOS开发。 经验所以我只想谈谈Android。

Android NDK用于使用本机代码。

NDK承诺对资源进行多次而非完整的控制。 建议不要纯粹使用本机代码来实现您的应用。 “一般来说,如果它对您的应用程序至关重要,那么您应该只使用本机代码,而不仅仅是因为您更喜欢用C / C ++编程。” #When在Native Code中开发的详细信息。

对本机UI控件和事件的完全访问通常涉及在iOS上使用Objective C和在Android上使用Dalvik的Java。 计算内核,Model对象内部,Open GL渲染等都可以在C / C ++中完成。 在Mac OS X和iOS上,Objective C ++ 本机代码,因此将以本机代码的速度运行(假设您的代码本身并不慢)。 在Android上,通过NDK接口调用可能会有很小的开销。

iOS安全沙箱不允许从库存操作系统设备上的任何应用程序完全访问对所有资源的控制。

您可以在iOS上使用cc ++代码以及objective-c (在c ++的情况下,您需要将源文件从* .m重命名为* .mm)。 但苹果不推荐它。 不要对安卓有所了解。

编辑

另外,我记得:我的朋友在android中使用了c中的thirdprty库。 所以,你也可以在那里使用它

对于iOS:使用Objective-C ++是完全没问题的 - 我的游戏代码是用C ++编写的,因此大多数UI(与C ++模型对象对话)都是在Objective-C ++中。 C ++与Objective-C一样原生,两者都可以被认为是编译为机器指令的C语言。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM