柔情似水 发表于 2015-1-18 11:27:52

IOS制作之Android L 对开辟者意味着甚么?仓酷云

有一些像NSCopying的接口(经@李禹龙提醒应该叫协议)不是特别用到开始不用了解NSObject创建对象的时候用+(id)alloc方法创建后需要init方法初始化[中心提醒]AndroidL将周全接纳ART形式,关于开辟者来讲,哪些成绩是必要存眷的?
方才停止的GoogleI/O年夜会上,Android下一代操纵体系「L」带来很多欣喜。新体系运转更快、更省电。
但是开辟者对这个新体系也有颇多疑问,好比新的运转形式ART对开辟者意味着甚么?ART形式可否让使用的体验超出苹果?我以为在ART运转体例下「L」的功能提拔在15%到80%之间。同时,ART优化了渣滓接纳体例,实行效力比现行的Dalvik进步50%以上,削减了实行渣滓接纳时对使用带来的卡顿,使使用运转更流利。
而在平安性方面,ART和Dalvik比拟,平安模子和基础机制没有变更。但ART有一些细节改善,对平安有匡助。好比,安装时对dex文件做了更严厉的考证。

<br>
图:AndroidL运转界面
以下我搜集收拾了360论坛上开辟者发问最多的6个成绩,一并解答,但愿能够匡助开辟者更好地熟悉这个全新的体系。
成绩1.为何ART能进步功能?

答:次要来自两方面。

[*]事后(Ahead-of-time)编译。Android使用开辟时,天生的Dex文件包括Java的ByteCode。在AndroidL之前,默许用Dalvik假造机。使用运转时,Dalvik对JavaByteCode举行注释实行,或举行Junt-In-Time的编译。在AndroidL里,使用安装时,用体系工具dex2oat将安装包中的Dex文件编译为ELF格局的实行文件(.oat文件)。使用运转时间接实行二进制指令。

[*]优化渣滓接纳(garbagecollection)。渣滓接纳次要有两种:(1)gcconcurrent。实行时,Dalvik会在本次gc的入手下手和停止时会短工夫停息代码的实行。(2)gcforalloc。实行时,会较长工夫中止Java代码的运转。在ART里,实行gcconcurrent时,只会停息代码一次。实行gcforalloc时,中止Java代码运转的工夫年夜年夜减少了。整体上讲,ART里渣滓接纳占用的开支比Dalvik少50%以上。削减了渣滓接纳时对使用带来的卡顿,使使用运转更流利。

成绩2.对使用开辟者来讲,必要做甚么适配事情以撑持ART。好比从头编译、打包?

答:对尽年夜多半开辟者来讲,不必要。不管假造机是Dalvik仍是ART,安装包里所包括的仍旧是Dex文件。由Dex文件编译为二进制文件的事情是在使用安装时,由装在设备上的体系工具dex2oat完成的。
成绩3.Android的使用在ART里运转后,开辟者还能在Java层面举行调试吗?

答:能够。现实上,使用安装后,编译天生的.oat文件中,包括了原始的Dex文件。保存Dex文件有两个缘故原由:

[*]必要Dex里的关于类的信息,以撑持Java反射等操纵。

[*]调试时,要用Dex里的调试信息。

正因为这个缘故原由,编译天生的.oat文件,巨细是原始的Dex文件的两倍以上。
成绩4.用ART后,功能终极能进步几?

答:取决于详细的使用。在GoogleI/O上,Google给的例子是提拔两倍以上。
ART我们实践测试上去,功能提拔在15%到80%之间。关于大批利用CPU的使用,功能提拔对照分明。但假如使用程序的工夫次要花在挪用体系API,提拔会小一些。由于良多体系API的代码次要在底层的.so内里。
成绩5.ART在平安性上有无提拔?

答:ART和Dalvik比拟,平安模子和基础机制没有变更。但ART有一些细节改善,对平安有匡助。好比:

[*]安装时对dex文件做了更严厉的考证。

[*]改正了Dalvik临时存在的一个对象模子的成绩:一个类里的办法,假如没有加会见限定(即没有效Public,Private,Protected形貌),Java划定是package-private办法,不在统一package的子类不克不及会见和重载。而Dalvik一向同意子类重载package-private的办法。ART里做了修正,举动与Java尺度分歧。

成绩6.AndroidL利用ART后,有甚么要引发注重的中央?

答:次要有这么几个:

你可能还需要学习使用Xcode这个开发环境,接著你需要掏钱向苹果注册开发者权限,基本的帐号是99美金。本视频为“斯坦福大学iPhone开发教程”,51CTO将不断关注本视频教程的更新进度,为大家提供最新的视频。

仓酷云 发表于 2015-1-18 13:47:05

看完这个你就可以有多种选择来踏入做应用的阶段

因胸联盟 发表于 2015-1-22 05:56:57

在此,某不才愿将安装成功的Mac OS X系统的vmware虚拟机向有志学习iOS开发的各位学友们免费开放出来,经测试,可以在WindowsXP/Win7系统上完美运行,即便你的机器只有2GB内存。

飘飘悠悠 发表于 2015-1-30 23:24:08

同很多iOS开发者一样,我也是通过培训进入到iOS开发这个行业,开始没有打算培训,只准备自己学习一些计算机编程相关的知识,毕业时找一份编程相关工作(本人是信息与计算科学这个专业,是数学系)。

金色的骷髅 发表于 2015-2-6 16:43:53

看《iPhone 4与iPad开发基础教程》,跟着一步步来

活着的死人 发表于 2015-2-17 08:27:52

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

透明 发表于 2015-3-5 17:49:34

我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。

谁可相欹 发表于 2015-3-10 02:06:38

学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。

柔情似水 发表于 2015-3-17 03:51:25

其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。

愤怒的大鸟 发表于 2015-3-23 17:39:20

然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
页: [1]
查看完整版本: IOS制作之Android L 对开辟者意味着甚么?仓酷云