Android与iOS的区别
最变成我最爱的一个问题,但一直没思考真正的回答思路是什么样的;
面试者有提到,但不全面,特此整理。
1 后台机制不同
- iOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。
2 推送不同
- 以上导致推送不同。以HT为例,安卓在线推送走的自己的服务,离线推送走的接入的各大厂商(如华为、小米、OPPO,vivo),以及其他都走FCM;
- iOS因任何程序都不能在第三方运行,所以都走官方的APNs。
- 其他解决方案,可接入第三方,如:极光
- 详见:消息推送
3 系统
- iOS只有系统比较少,系统不支持回退到低版本,低版本调用新系统的资源会崩溃,高版本不完全兼容低版本系统,只能单向升级;
- 安卓系统比较多,占用市场份额也多,且系统升级较快,不同厂商对安卓系统又自己进行集成,不同厂商的手机系统也有部分差异;
4 分辨率
- 安卓分辨率多,可从数据统计网站查看主流分辨率来提测试点
- iOS较少,也可从数据统计网站查看主流分辨率来提测试点
5 软件安装
- 安卓:各个手机厂商有不同的应用市场,要分别上线,如小米,华为,vivo,OPPO,魅族等,除此之外还可能是扫码安装,浏览器安装,百度,360安装等,看公司对那些应用市场进行上传;
- iOS:下载通道有App Store,iTunes,testfligt,也可扫码安装;
6 购买测试
- Android:微信、谷歌支付
- iOS:沙盒账号
7 手机特性
- 不同的返回机制。Android虚拟按键返回,iOS左滑返回
8 iOS系统比安卓系统流畅的原因
- iOS对屏幕反应的优先级是最高的,它的响应顺序依次为Touch–Media–Service–Core架构,换句话说当用户只要触摸接触了屏幕之后,系统就会最优先去处理屏幕显示(Touch这个层级);
- 而Android系统的优先级响应层级则是Application–Framework–Library–Kernal架构,和显示相关的图形图像处理这一部分属于Library,可以看到到第三位才是它,当触摸屏幕之后Android系统首先会激活应用,框架然后才是屏幕最后是核心架构。