大家好,今天小编关注到一个比较有意思的话题,就是关于egl语言java的问题,于是小编就整理了1个相关介绍egl语言Java的解答,让我们一起看看吧。
如果安卓是基于c,而不是基于JAVA,app起来会更快吗?
谢谢邀请!
Android会卡顿不光是J***a的锅,当然J***a构建在虚拟机上的这个特点,确实会对Android系统的流畅度造成比较大的影响,不过这并不是唯一的原因。
Android本身是基于Linux内核发展起来的,在技术栈方面Android内核部分是C语言编写的,中间的框架是c++,连接应用层、应用开发是通过J***a来开发的。
为什么不用C语言来开发Android应用呢?
C语言本身不是面向对象的编程语言,用来做业务开发并不是特别适合,要做图形界面更是非常不擅长,跟J***a和C++这些编程语言比起来,在这方面有很大的差距。
C语言还有个非常大的劣势是,学习门槛要比J***a等编程语言还是要高很多,而且C语言程序员数量相对来说比较少,这对于Android初期的发展是不利的。J***a程序员数量多,J***a还是开源免费的编程语言,面向对象、跨平台,这都是J***a的,刚好这些优点跟Android的发展非常契合。因此不选择C语言,也是有特定的原因的。
基于虚拟机是J***a的优点,这让J***a拥有非常好的跨平台优势,也确实客观上让Android的“负担”增加了,不过这并不是全部原因。
Android的碎片化主要是两方面造成的,一个是硬件、一个是软件。
Android的硬件设备简直是太丰富了,这一点跟Windows很类似。Android手机分为非常多的厂商,三星、小米、OPPO、VIVO、华为等等;Android手机的处理器也非常多样,高通枭龙、联发科、华为海思麒麟、三星猎户座等等;屏幕形态也是乱七八糟,额头、打孔、水滴,还有各种各样的尺寸、分辨率,非常丰富;摄像头模组也是多种多样,单摄、双摄、三摄、四摄。
Android由于开源、以及某些大家众所周知的原因,导致了在国内每个厂商都有自己的ROM,每个厂商都有一套自己的规则,要加入很多自己的东西,这里面大多数都是负优化。
会的。
但是计算量小的应用没有必要,这就像是10ms和100ms的差距,人也基本感觉不出来,而且J***A层封装的方法多,写起来也比C更快。
计算量大的很多都会用C来实现计算部分的代码,然后通过jni调用native代码。
而且现在的应用加载一个原声页面虽然说表层是J***A写的,但调用的大多数都是底层的native代码。
当然你也可以用纯C来写,但是这就没有多少现成的接口可用了,即使是一个按钮也要自己来通过egl绘制,大大增加了开发时间。估计除了大公司以外,在流行快速开发的大环境下,没有多少公司玩得起。
一群外行,安卓需要效率的都编译成二进制代码了,显卡渲染也和是c还是J***a没关,剩下的是c是J***a基本没影响,J***a能跑五十帧的,换成c通常也去不到五十一帧。
会更快一些,但是c语言开发软件的工作量比较大,而且很多软件的图形界面是c++或者j***a开发的,目前C语言还没有什么比较好的类似qt这种图形界面框架。用C开发图形界面的软件工作量会很大
一定会更快!
到此,以上就是小编对于egl语言j***a的问题就介绍到这了,希望介绍关于egl语言j***a的1点解答对大家有用。