仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1600|回复: 11
打印 上一主题 下一主题

[学习教程] IOS制作之Facebook工程师是怎样改善他们Android客户真个仓酷云

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果同时支持iOS5和iOS4用宏判断下就可以当然也可以直接用assign)还有一点开始学习的时候肯定很疑惑内存管理是基于函数名称的比如带alloccopy的函数用了之后返回的对象一定要release作为天下上最年夜的交际收集,Facebook的Android客户端面对着林林总总的利用情况(地舆情况、Android设备和挪动收集等情况的差别)。也恰是这个缘故原由,为了检测自家Android客户端在开展中国度的功能体现,Android的产物司理、工程师在2013年的时分往了一趟非洲。事先我看到这个旧事的时分以为有点奇异,厥后看到他们这篇博客才有点了解他们如许做的缘故原由了。
这群Facebook的工程师离开非洲以后,并在外地利用Facebook的最新版本的Android客户端。测试的了局切实其实让他们印象深入:

  • 外地的收集情况非常糟,App常常中止收集毗连。
  • 外地国民利用的Android设备内存小,招致App加载迟缓,并且常常溃散。
  • 他们的月流量在40分钟以内就用完了。
经由这个让人印象深入的测试的以后,Facebook的工程师们入手下手对他们的Android客户端举行了一系列的优化。
功能优化

这里次要是改善了App在低端机上的功能成绩。


  • 成绩:单核的Android手机在启动Facebook的时分更慢,这是由于app在启动的时分并行初始化了多个模块。
    办理计划:在单核手机上延缓这些初始化历程到启动以后,乃至只要在某个模块要被利用的时分才入手下手初始化这个模块。
  • 成绩:信息流在收集情况差时加载速率慢。
    办理计划:尽早地从服务器抓失信息流数据,用更多的工夫来创建毗连,并下载信息流的内容。
终极的效果是App的启动工夫削减了50%。
数据处置效力的优化

非洲的路程让工程师们发明流量在开展中国度十分高贵,并且作为Facebook主要体验一环的照片则是流量消费的年夜头,因而为了让国民在不忧虑流量的条件下放心享用Facebook,工程师们决意对App内里的照片动刀:

  • 寻觅现有图片格局的交换者。经由工程师们的调研,在浩瀚的图片格局中,最初工程师选择了Google的WebP。缘故原由很复杂:紧缩效力高,并且对Android的撑持好(究竟就是Google提出来的)。利用WebP以后,相对JPG格局的图片,流量省了快要25%到35%;相对PNG格局的图片,流量省了快要80%。最主要的是利用WebP以后图片质量还没改动。
  • 依照设备处置图片的才能来加载图片。在之前,Facebook的App都是一致加载最年夜分辩率的图片,如许做是为了让用户能够自在的缩放图片。厥后改善以后,app开始加载的图片巨细合适显现这个图片窗口巨细一样。假如必要缩略图,app就只加载缩略图巨细的图片,用户必要更高分辩率的图片,app也能加载,并且之前的一致加载最年夜分辩率的图片了。
  • 调剂缓存和重用图片的战略。工程师测试了分歧的缓存战略,分歧的缓存巨细,最初综合出最优计划。
最初的效果也是讲流量消费削减了50%。
收集优化

因为很多区域的收集情况对照差,这让Facebook的App的体验也变得非常糟,因而工程师也对app的收集效力和牢靠性举行了一番改善。

  • 利用OkHttp。Facebook很早就入手下手利用Square公司开辟的OkHttp(一个开源的收集协定栈)了,如今Google官方也从Android4.4入手下手利用OkHttp作为HttpURLConnection的默许完成了。OkHttp撑持在糟的收集情况上面更快的重试,而且还能使用SPDY协定举行疾速的并发收集哀求。
  • 使用Okhttp调剂图片的事后抓取算法,确保app中下载行列后面的图片被优先处置,避免行列堵塞工夫太长。
经由优化后,图片加载慢大概加载失利的反应少了快要90%。
App文件巨细优化

工程师在非洲的时分发明人们利用数目最多的手机磁盘空间很小,也就是说这给用户晋级带来的停滞,进而能够揣度这些人们由于手机的空间成绩而一向利用旧版本的app,那末他们也就没法晋级享用后面提到过的优化后的app体验。因而工程师入手下手努力于怎样对app文件巨细举行优化:

打开.xib的文件打开的就是IBIB和代码交互用的是IBActionIBOutlet这些标记这些标记追踪到他们的定义其实对编译器来说什么都不表示
只想知道 该用户已被删除
沙发
发表于 2015-1-21 06:45:43 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
爱飞 该用户已被删除
板凳
发表于 2015-1-30 10:02:33 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
精灵巫婆 该用户已被删除
地板
发表于 2015-2-1 19:14:49 | 只看该作者
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-2 16:06:52 | 只看该作者
然而,在vmware软件环境下,安装Mac OS X操作系统也是一件非常复杂的事情,而且还有可能花费了大量时间,最后却跑不起来。笔者也是经过了大量的实践,
若相依 该用户已被删除
6#
发表于 2015-2-8 00:45:47 | 只看该作者
自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
老尸 该用户已被删除
7#
发表于 2015-3-4 01:07:42 | 只看该作者
有办法利用自己手头的电脑立刻开始这个美妙旅程的。
山那边是海 该用户已被删除
8#
发表于 2015-3-6 14:48:49 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
小女巫 该用户已被删除
9#
发表于 2015-3-6 17:32:31 | 只看该作者
看完这个你就可以有多种选择来踏入做应用的阶段
第二个灵魂 该用户已被删除
10#
发表于 2015-3-7 04:54:58 | 只看该作者
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
乐观 该用户已被删除
11#
发表于 2015-3-14 10:38:05 | 只看该作者
还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
莫相离 该用户已被删除
12#
发表于 2015-3-21 02:00:54 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 18:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表