蛋炒鸡丁小饭团 2022-01-17 16:28 采纳率: 66.7%
浏览 49
已结题

Android系统为什么大部分都使用Java编写软件而非C/C++?

我的理解

既然Android的底层是Linux,而Linux是由C语言编写的,那为什么不是使用C/C++来编写软件,而是要用Java来编写?
我知道Java的跨平台性很好,但C/C++的跨平台性不也很好吗?

还说是纯粹是因为Java实现图形界面更加容易一些?

  • 写回答

3条回答 默认 最新

  • dceacho 2022-01-17 16:43
    关注

    首先不同层并不需要用同一种语言编写
    然后重点就在于C系和Java系的差异性了, C系偏向底层,对底层控制硬件控制全面,效率高,所以底层系统用C或者C++,甚至汇编。
    但到了上层的话这就变成缺点了,C系可以让程序员获得更多的内存控制,但带来的BUG的可能性也更大,而上层应用的话并不需要把注意力放在琐碎的细节上。
    形象的说这就像打仗,同样是进攻一个山头
    C的方法是控制每一个兵,具体给每一个兵一个明确的任务,虽然繁琐,但每人任务明确,执行速度快,但作为司令官你的工作量会很大。
    而JAVA则是直接将任务交给军长,军长交给师长,一层一层的下发指令,你作为司令官就比较简单了直接和军长交流就好。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来