1、操作系统使用习惯,比如返回键、杀死进程
2、UI界面,比如导航的tab页、item可以滑动进行操作
3、Android分辨率20多种,iOS较少
4、操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)
5、android的sdcard是不受文件访问控制约束的,iOS的隐私做的更好
系统架构
1.iOS架构分为4层,分别为
(1)cocoa Touch层:包括Foundation Framework,UIkit Framework,Address Book UI Framework
(2)媒体层:包括图像(Quartz,Core Animation,OpenGL ES),音频(Core Audio,OpenAL)和视频技术
(3)核心服务层:例如CoreFoundation.framework是基于C语言的接口集,提供应用的基本数据管理和服务功能;CFNetwork.framework是一组高性能的C语言接口集,提供网络协议的面向对象的抽象。开发者可以使用CFNetwork框架操作协议栈,并且可以访问底层的结构如BSD sockets等;Security.framework提供管理证书,公钥/私钥对和信任策略等的接口来确保应用数据的安全性
(4)核心OS层: 基于Mac操作系统
2.Android架构分为4层,分别为
(1)应用程序:使用java编写
(2)应用程序框架:活动管理器:用来管理应用程序生命周期并提供常用的导航回退功能资源管理器:提供非代码资源的访问,如本地字符串、图形和布局文件内容提供器:用来存放和获取数据并使用这些数据可以被所有应用程序访问XMPP服务器:基于XML的网络实时通讯协议。
(3)系统运行库+Android运行时系统运行库:android包括一些c/c++库,这些库能被android系统中的不同的组件使用,例如libc是一个从BSD继承来的标准c系统函数库;webkit为Web浏览器引擎,支持Android浏览器(苹果Safari的引擎也是webkit)。SQLite为功能强劲的轻量级关系数据库引擎(iOS也是采用的该数据库引擎)。Android运行时:包括核心库(基本类库,例如data structure,network,file system等),很多实现代码都来自Apache Harmony项目,主要目的时保证虚拟机的类库能够与Java SE类库最大程度的兼容)与Dalvik虚拟机(用于运行dex:dalvik executable格式二进制可执行文件,该虚拟机较之java虚拟机的最大区别是Dalvik基于寄存器)
(4)linux内核:基于linux 2.6内核