当前位置:首页 » 安卓系统 » 安卓为什么不用c或者c开发

安卓为什么不用c或者c开发

发布时间: 2022-08-18 12:44:56

A. Android现在到底支不支持纯c语言开发第三方应用

可以使用C做第三方开发。
但是有几个问题:
1 C接口在图形界面上支持的不太好,所以用纯C,做界面会很恶心。
2 C语言编译依赖于编译器,而不同平台编译器不同,所以无法做到通用。也就是说,用C编出来的一个bin文件,只能用于一个型号或者一系列型号的。 对推广很不利。
3 C编译的文件,要想运行,在当前安卓架构中,添加很不方便。
由于以上几个原因,很少有用C来做开发应用的。反而是C++,有一些人在用QT做可移植开发

B. Android能用纯C/C++开发吗

目前截止到2.3系统来看,最终安装的文件仍然是apk格式,界面和系统大多数功能均使用java开发,但是稍微高端的应用考虑到性能和安全性使用
C/C++是必要的,C/C++最终编译的so文件就相当于Windows下的dll动态库,需要一个宿主去加载调用,我们通过Java的JNI去调用这些本地方法,目前从NDK的版本来看Google不断增强和开放C++在Android开发的用处,以保证和iPhone这种使用本地语言开发出来的软件体验度不能差距太大。

C. 为什么安卓系统不支持C++

C++/C编译之后的代码是与CPU相关的本地二进制代码,为不同CPU编译的代码是不能通用的,而安卓系统运行的硬件环境是多变的,用C++开发程序通用性较差,所以安卓系统用C++开发程序的很少。
与之相比,Apple手机的CPU都是同一个厂商生产的,所以在Apple中软件大多使用Object-C开发

D. 为什么android开发用c++而不是c

选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势, Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。 Java有大量人员优势,几乎不用重复学习就能做android。 Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。 关于性能,说些个人看法。 越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。 相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。 有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如中国页中国站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言pythonphp之类才合用。 总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。 摘自:中国.中国/question/355813258.htm

E. 为啥安卓只能用Java编写,不能用c

可以 只是没人用罢了 安卓手机核心系统其实是linux Linux可是c需要的地盘 安卓不过是在这个系统上搭建了一个可视化文件资源管理平台 可以运行平台软件 也就是.apk程序 是这个平台应用用java开发更高效兼容性更好罢了

F. 为什么不用c语言编写安卓

安卓的底层,还是Linux的核心,靠近硬件部分还是C编写的。到了上层,就换成了对应用开发和程序兼容性更好的Java。主要还是因为简单。无论在底层选择的C或者是上层选择的Java,都是为了更简单的对代码的管理和优化。简单的说,就是那些编写安卓的工程师们,觉得这么写顺手而已。

G. 安卓系统为什么要用java语言写可以用C语言写程序吗

android其实是基于linux内核的,但在LINUX平台上,适合的语言很多C C++ JAVA 等,C开发中大型图形界面是个问题,而且不是面对对象的语言。

  1. PYTHON RUBY因为执行机制的关系(解释性),执行效率不太适合作为首选开发平台
    那么就剩JAVA和C++可以选了。

  2. 相比C++来说,JAVA虽然执行效率不如C++,但开发效率更高,而且JAVA发展到今天,第三方库十分庞大,社区也非常活跃,可以说,JAVA是除了C++/C之外,全球最流行的语言。

  3. android刚诞生的时候,其目的肯定是要降低开发门槛,吸引更多开发者加入,从而才能带动android的进一步普及。而JAVA的入门比C++快,在跨平台开发上比C++更容易,庞大的JAVA社区又可以提供足够的第三方开发资源。虽然执行效率上有所欠缺,但也比其他语言,比python这些强。

  4. 所以,JAVA成为了android平台的首选开发语言,也可以说,JAVA是一个很均衡的选择,在性能和门槛之间平衡的一个选择。

  5. 当然 ,毕竟是linux内核的系统,android的sdk除了提供JAVA版以外,也有C++版的,也还是可以用C/C++开发android软件。

H. 安卓机为什么不像苹果一样用c语言编程,节省电量

苹果用的是OC或者Swift,也不是用的纯C语言
安卓可以用Java或者C++编应用
节不节省电量不仅仅跟应用有关
也跟系统本身有关

I. 为什么Android开发使用Java而不是C++

一、C++是与cpu相关的本地代码,也就是说每种机型都要提供相应的编译器,而且每个应用都要分别编译成适应不同机型的版本 而Java只要开发商提供针对特定硬件平台的JVM,你的应用程序代码只需一次编译就可以运行在所有android机上了。所以对于android这样的系统,必然要以Java为程序语言的,否则结果是无法想象的。

二、Java跨平台,入门简单,而学习和精通C++的成本实在比JAVA要高太多了。java拥有世界上最大的开发群体,有最大的开源社区的技术支持,这样它就可以吸引最大量的开发者团队或者公司,提供更多更强优质的产品,而优质的产品和人气,是吸引最终用户的法宝。 其实这也就体现了,为什么开源软件是软件产业的一次革命了。

三、Google采用Java虚拟机的另一个很关键的原因,就是能使手机开发厂商摆脱Linux的GPL协议的束缚;Google通过Java虚拟机在Linux 内核和应用层之间做了隔离,因此,开源的只是内核和Java虚拟机,而厂商采用Java编写的驱动和应用则不需要开源,这样,既维护了各厂商的利益,又保证了各种android应用在各款手机的跨平台应用。

四、说Java效率低下的朋友一定没有深入理解过JVM的实现。现在的嵌入式CPU大多都集成了Java协处理,支持JVM指令集,能直接运行微码,不再是以前的“解释执行了”,效率上已经非常接近于C。Android的GUI框架是基于Native C底层的一套自有框架,基本上所有视频加速功能都是由C/C++实现,GUI效率一点不打折扣。

J. 为什么android的软件都用Java开发而不用C/C++

选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势,
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。

关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。

热点内容
编译androidwebkit 发布:2024-05-04 13:11:37 浏览:759
安卓微信流量怎么控制 发布:2024-05-04 12:47:19 浏览:797
mysql主从复制数据库 发布:2024-05-04 12:37:55 浏览:510
开公司人员配置不够有什么影响 发布:2024-05-04 12:32:21 浏览:433
rust网络编程和ftp 发布:2024-05-04 12:32:21 浏览:61
微信怎么知道账号密码 发布:2024-05-04 12:20:06 浏览:977
我的世界服务器如何用自己的存档 发布:2024-05-04 12:06:36 浏览:337
七日杀服务器ip怎么设置 发布:2024-05-04 11:57:57 浏览:431
启用java 发布:2024-05-04 11:51:46 浏览:970
mac下开发php 发布:2024-05-04 11:28:53 浏览:628