安卓系统为什么要用java语言写?可以用C语言写程序吗?
2023-06-06 · 百度认证:重庆猪八戒网络有限公司官方账号
android其实是基于linux内核的,但在LINUX平台上,适合的语言很多CC++JAVA等,C开发中大型图形界面是个问题,而且不是面对对象的语言。
PYTHONRUBY因为执行机制的关系(解释性),执行效率不太适合作为首选开发平台那么就剩JAVA和C++可以选了。
相比C++来说,JAVA虽然执行效率不如C++,但开发效率更高,而且JAVA发展到今天,第三方库十分庞大,社区也非常活跃,可以说,JAVA是除了C++/C之外,全球最流行的语言。
android刚诞生的时候,其目的肯定是要降低开发门槛,吸引更多开发者加入,从而才能带动android的进一步普及。而JAVA的入门比C++快,在跨平台开发上比C++更容易,庞大的JAVA社区又可以提供足够的第三方开发资源。虽然执行效率上有所欠缺,但也比其他语言,比python这些强。
所以,JAVA成为了android平台的首选开发语言,也可以说,JAVA是一个很均衡的选择,在性能和门槛之间平衡的一个选择。
当然,毕竟是linux内核的系统,android的sdk除了提供JAVA版以外,也有C++版的,也还是可以用C/C++开发android软件。
安卓系统的架构图如下:
Android系统本身是一套软件堆栈(或称为软件层叠架构),它包含三部分:操作系统、中间件、应用程序。我们通过AndroidSDK所提供的工具和API来开发各种应用。
AndroidRunTime(运行时环境)包括(coreLibraries)核心库和Dalvik虚拟机两部分:
Dalvik虚拟机:
类似于JVM,是Google公司自己设计用于Android平台的虚拟机,它可以简单的完成进程隔离和线程管理,并且可以提高内存的使用效率,Dalvik虚拟机执行扩展名为.dex的Dalvik可执行文件,该格式文件针对小内存使用做了优化。
看到这里你应该明白了,因为Android系统使用了类似JVM的虚拟机,所以我们上层开发的安卓APP必须使用Java语言,不能够使用C语言编写。
专业从事软件研发工作多年,在软件设计、开发、测试、研发管理等领域里经验丰富,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。
如果有软件研发方面的问题,可以咨询我。
谢谢!