而Android和Windows有时却不行?
这个问题,很多手机用户。特别是同时用过安卓手机(Andriodt系统)和苹果手机(iOS系统)的用户应该最有感觉的哈。
这个问题,需要从不同的读者身份来回答。
普通的手机用户,只是对这一问题有感受。不了解程序运行的具体层面。其实简单的来说,就是手机上面的app在运行的时候,是需要加载到内存里进行运行。iOS操作系统上面的app在运行的时候内存优化做得好。而由于Andriod操作系统上面的app在运行的时候由于特殊的运行机制,内存优化方面没有iOS操作系统好处理。特别的app在切到后台,就是我们按下手机home键,这个时候app并没有完全关闭。而是进入后台,这样做的目的,是为了下次再打开这个app的时候,能够加快应用启动的速度。如果有心的用户会注意到,如果我们将app上划掉,点击关闭按钮,下次再打开应用的时候,会有一个启动画面。而只是按下home键,我们下次再打开App的时候,还是会打开你上次看的那个界面。我用一个小视频来示意(iOS手机和安卓手机都是一样的)。
由于我们的使用习惯,那么更多时候,我是只是会按下home键,这个时候程序并不会完全关掉,而是进入后台。在这个行为里面,iOS操作系统会释放掉app所占用的内存,但Android操作系统就不会。也就是说对于iOS操作系统来说,你不管后台有多少个App没有真正关闭,所使用的内存始终是你正在使用的App所要使用的内存。但对于Android操作系来说所占用的内存是你正在使用的App+长驻后台的App所需要的内存的总和。所以对于Android手机来说,一旦打开的App过多的且没有从后台完全半闭的时候,我们操作一个新的App的时候就会明显示的感觉到卡,当你试着将所有后台App半闭的时候,再打开新的App,你会觉得流畅很多。就是这个原因。
所以现在苹果手机最好的配置内存也就2GB,而安卓手机现在8GB内存几乎是标配了,甚至有些自称高端机的,都出了12GB内存的配置。对于目前的安卓系统来说,也在不停的进行这方面的优化,又加上大内存的加持,其实安卓机现在操作起来,也会比较流畅了。那么针对专业人员来说,这个要从App运行的具体细节来回答这个问题了一、使用的编程语言:
iOS操作系统:使用的是自家研发的OC(现在主推Swift)语言进行开发的,全称ObjectC,就是基于c语言进行的封装。Andriod操作系统:使用的是Java语言进行开发。二、运行环境:
苹果自家研发的基于开源liunx操作系统上面的jvm(java虚拟机)三、编译运行流程:
iOS操作系统:源代码-->字节码-->机器码-->手机Andriod操作系统:源代码-->字节码-->JVM-->机器码-->手机四、下载来源:
iOS操作系统:不能自由下载,必须通这AppStore唯一的应用市场Andriod操作系统:可自由下载,尽管目前大部分应用是上架到了应用市场,但并没有一个统一的应用市场。基本上国内的安卓手机厂商都会默认安装自己的应用市场那么真正影响App运行流畅度的是什么呢?App执行效率:对于iOS操作系统是直接编译成机器码运行在硬件上面的,而Android系统运行在java虚似机上面,iOS操作系统App运行效率比Android操作系统App天然上执行效率会高很多。App质量:对于iOS操作系统的手机说来,App能够被用户下载,是必须经过审核后才能上架到应用市场的,在被用户下载之前,对于App的内存优化,还是其它的一些质量问题在安装使用之前,苹果就已经进行了一次把关,而对于Android操作系统来说,这一条件不是必须的。就导致了App质量的参差不齐。内存优化机制:特别是应用进入后台的内存优化方在,iOS采取地策略会更好一些。以上是我的回答,希望能够对你有所帮助,如有读者有更好的想法,欢迎关注、评论、交流!
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有