android安卓手机系统能用汇编编程吗?
可以使用汇编。Android程序通常使用java编写(sdk),在一些效率要求较高或者处于代码安全的情况可以使用jni借口调用c/c++程序(ndk),同样也可以用汇编代码实现。
手机可以编译C语言程序吗?
手机也可以安装专门的c语言编译器,比如:在手机上可以通过c4droid编译c语言程序。c4droid是款Android设备上的C/C++程序编译器 ,默认以tcc(tiny c compiler)为编译器,可以选择安装gcc插件(20mb,只有root用户可以使用),选用gcc后,可以用sdl(简单直控媒体层库,需安装sdl plugin for c4droid)和qt(nokia官方开发库,需安装sdl plugin for c4droid)。也可以开发native android app(需安装sdl plugin for c4droid),就像google ndk一样。软件支持代码高亮,编译时间随cpu主频而定,主频越高编译越快。gcc插件版本4.7.2提供了示列程序,包含sdl,android native,qt和命令行测试程序源码。
如果安卓是基于c,而不是基于Java,APP运行起来会更快吗?
一群外行,安卓需要效率的都编译成二进制代码了,显卡渲染也和是c还是JAVA没关,剩下的是c是J***a基本没影响,J***a能跑五十帧的,换成c通常也去不到五十一帧。
基于汇编执行效率更高咋不去用啊,脑子进水的真不少,非得从执行效率上争个好低,程序员眼界就那么窄么,如果没有其他高级语言,凭借c的开发效率和难度,现在软件行业得倒退十年
会的。
但是计算量小的应用没有必要,这就像是10ms和100ms的差距,人也基本感觉不出来,而且J***A层封装的方法多,写起来也比C更快。
计算量大的很多都会用C来实现计算部分的代码,然后通过jni调用native代码。
J***A和C效率差距大概可以用10倍左右来算。
而且现在的应用加载一个原声页面虽然说表层是J***A写的,但调用的大多数都是底层的native代码。
当然你也可以用纯C来写,但是这就没有多少现成的接口可用了,即使是一个按钮也要来通过egl绘制,大大增加了开发时间。估计除了大公司以外,在流行快速开发的大环境下,没有多少公司玩得起。
当然会快一点, 但是,好多人不知道,以前的安卓用1年多久卡顿的主要原因, 其实不是J***a及其虚拟机模式, 最大的原因是安卓开发者没有受到较为严格的管控, 程序天马行空,使用内存铺张浪费,从来不考虑这个系统生态里面还生活着其他的APP, 就好比以前人类对动植物大肆捕猎砍伐侵占一样, 很快发现人类自己也受到惩罚了一样。
这两年华为从两个方面,准确的说,应该是三个方面,第一个方面是从文件系统方面提升了安卓的性能,比如研发了f2fs,erofs 等, 现在他们都已经合入了安卓主线版本,其他友商都可以用了, 第二个方面是华为研发方舟编译器,你加我程序解析成机器码,使J***A程序可以像c程序一样,直接在机器上运行,这两个方面是从技术层面对安卓系统的[_a***_]。第三个方面是华为在建立hms,相当于是在打造类似于iOS那样的严格的是生态环境,让开发者不要乱来,乱来程序就上不了架。