触类旁通学习swift(1)语言简述

触类旁通学习swift(1)语言简述

算法语言 2年前 (2015-12-30) 浏览: 122 评论: 0

由于要参加一个iOS竞赛,所以极客人最近开始学习swift语言。swift语言是苹果2014年发布的一个开发苹果旗下软件的一种新的编程语言,貌似有取缔之前用来开发苹果软件的objective c语言的势头,所以个人觉得学习swift还是比较有前途的。由于开发iOS必须要MAC系统,之前花费了大量的时间给我的戴尔电脑安装了“黑苹果”,但因为驱动问题导致无法联网,十分影响学习。为此,十分感谢杨帆老师借了我一台闲置的MAC电脑。 与之前学习过的c++,java,php,javascript语言相比,swift语言在我看来更加高端或者说“高级”,比java等语言比swift更加简洁,对一些诸如数组等数据类型的操作功能极为强大,写相同量大swift的代码可以做很多的事情。简洁、高级的swift可以节省程序员打字的工作量,但是也意味着这个语言可能的封装度更大。封装性让成员易于操作但会让程序员离底层越来越远,上层函数的记忆量就会加大。swift和其它高级语言的不同还是很大的,不像java和php相似度极大,只要学会java,php在短时间内即可无师自通。 学过几门计算机语言之后,我认为再学习一门新的语言时与之前语言的比较十分重要。所以在学习swift时很有必要把它和其他语言进行类比学习,以加强记忆,防止各种语言之间的“串味”。 swift面向什么? swift和php相似,既支持面向过程又支持面向对象,没必要把所有的操作都写成一个类和方法,而java则是严格的面向对象语言。但PHP是一种脚本语言,但是swift不是,脚本语言是解释执行的,执行文件是文本; 编译语言,执行文件是二进制,swift需要经过编译生成一个二进制的可执行文件。 swift不是弱类型 swift和javascript一样没有显式地声明变量类型,但是在没有声明变量类型的swift会根据情况自动推断出变量类型。比如var a="hello world",a会被推断为string类型。

为什么安卓机没iPhone流畅?

为什么安卓机没iPhone流畅?

算法语言 3年前 (2015-02-26) 浏览: 238 评论: 2

网友“foto茄”: 为什么iPhone6内存仅有1GB,而很多安卓机配置相当高了,还是觉得iPhone流畅一些? 腾讯科技: 相信很多网友都有类似疑问,感觉安卓手机在流畅度上不如iPhone手机。先不说一些配置低的安卓机,即便是最新版安卓系统的旗舰手机,也会感觉达不到iPhone手机的那种流畅度,因此有人以此判断安卓手机不好。 其实,这都是二者系统机制不同导致的差异。 渲染机制不同 Android没有iOS流畅的根本的原因是,iOS的UI渲染采用实时优先级,而Android的UI渲染遵循传统电脑模式的主线程普通优先级。 通俗点说就是iOS对屏幕反应的优先级最高,用户只要触摸屏幕,系统就会最优先处理屏幕显示这个层级,马上给出动画效果,然后才处理媒体、服务、核心的架构。 而安卓则是追求进程优先,触摸屏幕后的手机屏幕显示和动画效果放在比较后的优先级。同样打开相同的网页,Android手机就会直接将整个网页全部加载同时渲染HTML,这无疑就增加了处理器的压力。因此对于Android来说,一个高效的双核处理器是很重要的。 在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件,系统会将所有资源用于渲染UI过程,以保证用户界面的实时渲染优先级。 而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,比如下载和查收短信,这样系统UI获得的资源就不够,这就是Android系统不流畅的原因。 后台机制不同 安卓手机的后台是真后台,像PC一样,将应用保留在RAM中,当使用HOME键退出应用时,程序实际上并没有完全退出,而是被系统挂在了后台,为何我们关掉了聊天软件依然能够收到消息通知,因为它常驻系统内存。包括平时收到的一些垃圾广告推送,也是因为后台有程序运行。 所以这就导致了一个现象,从内存使用上来看,安卓刚开机时内存使用很低,若不进行清理内存操作,正常使用一天,内存占用会达到75%以上。而内存占用越高,使用起来流畅度就会越低,所以安卓机器需要更大的RAM来提升用户体验。 而iOS呢,其实是采用的伪后台,当用户HOME键退出应用时,iOS其实关闭了程序,只保留应用的图像入口,只会默认将应用的最后的运行数据记录在RAM中。 之所以iOS也能收到推送,是因为当用户从应用中选择开启推送之后,系统会增加一些进程,这些进程会从苹果服务器接收信息,然后再通过服务器发给用户,苹果服务器在这里是起到了中转的作用。而正是因为有了这一系列的机制,所以即便iPhone的配置相比于同类安卓机低了很多,但是iOS还是会给人更加流畅的感觉。 iPhone执行程序的效率比安卓机高 另外,安卓系统的编程语言是Java,特点是通用性强,效率低。而iOS的则为Objective-C,专一性强,效率高。 iOS系统本身优化得很好,而且程序也是直接执行,所以效率很高。而安卓系统是通过Java虚拟机来执行,系统需要占用大量内存来换取执行速度,也就是要绕了个大圈才执行程序,所以效率低很多。 厂商喜欢给iPhone做优化 由于iOS的封闭性,App Store里面的App都是在iPhone等产品上执行,硬件利用效率非常高,而且分辨率大小,硬件的更新等等参数也比较稳定,优化工作也容易进行,因而iPhone上的App和硬件结合程度比安卓高很多。 安卓手机的硬件配置一样天天变,开发者也不可能针对所有的机器型号进行开发,只能在比较主流的机器上进行测试并保证运行流畅,所以很多国产中低端安卓手机很难得到流畅的使用体验。  

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册