一、从系统底层上区分
1、系统的开源
Android:系统开源,有非常多的第三方测试工具可以辅助测试。
iOS:系统非开源,严重依赖mac环境。
2、程序后台运行机制
Android:任何程序都可以在系统后台运行,直到没有内存才会关闭。
iOS:第三方程序不能在系统后台运行。
3、消息推送渠道
Android:可以使用第三方或者自建平台进行消息推送,但是一般都是使用第三方的。
iOS:消息推送渠道由苹果官方提供的。
4、运行机制
Android:虚拟机运行机制
1)所有的应用程序都是运行在虚拟机中,用户界面其实是由虚拟机传递的,并且通过虚拟机,Android的任何程序都就可以轻松访问其他程序文件。
2)所有的Android的应用程序都是运行在RAM里面的,所以会发现有时候Android用着用着就开始有点卡了。
ps:补充知识,手机中的RAM和ROM,可以分别对应电脑的内存和硬盘这么理解
iOS:沙盒运行机制
1)每个程序都有自己的虚拟地址空间。所以,程序之间是都不能进行访问。
2)默认只会将应用的最后运行数据,记录在RAM里面。
5、指令权限
Android:数据处理指令权限最高。
iOS:用于UI指令权限最高。
二、从功能上区分
1、安装
生产环境:
Android:可以通过各个手机自带的应用市场或者是第三方的手机助手进行下载。
iOS:APP store和iTunes。
测试环境:
Android:开发或者测试将源码打包成apk文件,即可随意安装。
iOS:可以使用Apple官方平台testflight,或者是开发直接给你安装好。
2、物理按键
Android:独有3个物理按键的功能(菜单,主页面,返回),尤其是返回键。
iOS:所有的返回上一层,只能靠页面功能实现。
3、兼容性
系统兼容性:
Android:版本居多,还有不同手机型号的定制版系统。
iOS:版本相比较Android偏少。
4、原生技术支持
Android:以微信举例,长按删除,置顶聊天等操作,左滑则会进入到通讯录菜单。
iOS:以微信举例,长按没有任何反应,左滑则会出现标记未读和删除操作。
5、支付方式
Android:对于一些有内购功能的APP,Android是直接调用第三方支付渠道的。
iOS:需要先在你的APP store里绑定你的支付方式,然后通过APP store去完成支付操作。
PS:Apple对于一些非官方的支付渠道是不允许上架的。