tizen 刷机,A57官方线刷包下载

为啥感觉没有纯Linux的手机系统呢?不用虚拟机 , 硬件利用率百分百?

tizen 刷机,A57官方线刷包下载


纯Linux而不需要虚拟机的手机系统当然有 , 火狐的FirefoxOS、Ubuntu Touch、三星Tizen操作系统、以及曾经大名鼎鼎的Megoo都是没有虚拟机的 。Android使用虚拟机是因为采用了Java作为核心开发语言 , Java足够成熟、生态健全、开发者众多 , 这是Android早期发展迅速的主要原因 , 当然Android的高速发展也给了Java第二春 。
Oracle公司现在又在作死 , 各种用Java的问题刁难Google , Google推出Flutter框架、扶持Kotlin , 以及打造Fuchsia操作系统 , 就是为了能够找到取代Java甚至直接取代Android的解决方案 。值得提一下的是尽管Megoo系统随着诺基亚的失败而消失了 , 不过Megoo系统的很多理念到现在还被iOS和Android系统借鉴 , 现在智能机的主要手势操作基本上全是借鉴Megoo操作系统的设计理念 。
Android为什么要用虚拟机Android诞生之初并不是师出名门 , 后来被Google收购也算是傍上了大款 , Android使用虚拟机的主要原因还是因为Java , 因为Java有足够好的凯源生态 , 更重要的是Java有成熟的开发者生态 , 最最重要的当然还是Java是第一大编程语言、背后有最多的开发者 。Android诞生之初 , 跟Java普遍使用JVM家在字节码文件(.class) , Android的虚拟机是Dalvik虚拟机 , 每次运行程序 , Dalvik负责加载dex/odex文件然后解析成机器码让Android系统调用 。
2010年5月20日 , Google正式向外界发布了版本代号为Froyo冻酸奶的Android2.2版本 , 这是Android第一个成熟版本 , Google在这个版本的虚拟中加入了即时编译、也就是我们通常所说的Just-In-Time Compiler(JIT)编译器 , Dalvik使用JIT进行编译 , JIT可以对经常使用的dex/odex进行编译和优化 , 将其翻译成精简的Native Code执行 , 引入JIT之后Dalvik性能提升了3到6倍 。
2013年10月31日 , Google正式对外发布代号为Kitkat的Android4.4 , Google为了改善Android糟糕的用户体验 , 开发了全新的虚拟机运行环境 , 也就是Android Runtime(ART) , 在这个版本中Google还有了新的编译策略Ahead of time(AOT) , 不过这时候ART和Dalvik共存 , 直到2014年10月16日代号为Lollipop棒棒糖的Android5.0版本 , ART彻底取代Dalvik , AOT成为了唯一的编译模式 , AOT相对于JIT的优点是 , JIT是运行时动态编译 , 每次运行程序的时候都要编译 , AOT则是静态编译 , 应用在安装的时候就已经完成了编译 , 程序运行的时候不用重新编译 , 这才是真正的本地应用概念 。
ART还对垃圾回收机制进行了改革 , ART只有一次垃圾回收暂停、而Dalvik有两次 , ART在垃圾回收保持暂停的时候并行处理 , ART还优化了垃圾回收的效率 , 让系统能够及时垃圾回收、及时减少后台内存使用和碎片化问题 。不过在Android7.0之后JIT又重新回归了 , AOT/JIT混合编译模式又重新回归了 , 混合编译当然有优点 , 不过还是很难解决Android存在的各种问题 , 毕竟Android的问题一大部分是Java自身的问题 , 除此之外Android生态本身也比较混乱 , 这也是Android体验差的重要原因之一 。

推荐阅读