为什么android的软件都用Java开发而不用C/C++?
3个回答
展开全部
选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势,
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
展开全部
因为android的UI层是用java的类封装的,而底层是用c/c++。所以开发UI层(也就是软件的界面层)时要用java开发,而你要用C++来提高软件效率的话,需要使用jni,通过jni,在java中可以去调用c++程序。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
android的底层是用C开发的,好像是objectiveC,应用库是用java写的。java调用的是底层用C写得那些接口。我觉得是不是因为现在国外大多数程序员使用的都是java语言呢,或者是java的语法更加简单易学呢。呵呵,个人猜想而已!!希望采纳!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |