分享好友 最新动态首页 最新动态分类 切换频道
【安卓开发】Facebook工程师是如何改进他们Android客户端的
2024-12-26 07:34

作为世界上最大的社交网络,Facebook的Android客户端面临着各种各样的使用环境(地理环境、Android设备以及移动网络等环境的差异)。也正是这个原因,为了检测自家Android客户端在发展中国家的性能表现,Android的产品经理、工程师在2013年的时候去了一趟非洲。当时我看到这个新闻的时候觉得有点怪异,后来看到他们这篇博客才有点理解他们这样做的原因了。

【安卓开发】Facebook工程师是如何改进他们Android客户端的

这群Facebook的工程师来到非洲之后,并在当地使用Facebook的最新版本的Android客户端。测试的结果的确让他们印象深刻:

  1. 当地的网络环境十分糟糕,App经常中断网络连接。
  2. 当地人民使用的Android设备内存小,导致App加载缓慢,而且经常崩溃。
  3. 他们的月流量在40分钟之内就用完了。

经过这个让人印象深刻的测试的之后,Facebook的工程师们开始对他们的Android客户端进行了一系列的优化。

这里主要是改进了App在低端机上的性能问题。

  • 问题:单核的Android手机在启动Facebook的时候更慢,这是因为app在启动的时候并行初始化了多个模块。
    解决方案:在单核手机上延缓这些初始化过程到启动之后,甚至只有在某个模块要被使用的时候才开始初始化这个模块。
  • 问题:信息流在网络环境差时加载速度慢。
    解决方案:尽早地从服务器抓取信息流数据,用更多的时间来建立连接,并下载信息流的内容。

最终的效果是App的启动时间减少了50%。

非洲的旅程让工程师们发现流量在发展中国家非常昂贵,而且作为Facebook重要体验一环的照片则是流量花费的大头,于是为了让人民在不担心流量的前提下安心享用Facebook,工程师们决定对App里面的照片动刀:

  1. 寻找现有图片格式的替换者。经过工程师们的调研,在众多的图片格式中,最后工程师选择了Google的WebP。原因很简单:压缩效率高,而且对Android的支持好(毕竟就是Google提出来的)。使用 WebP 之后,相对于JPG格式的图片,流量省了将近 25% 到 35 %;相对于 PNG 格式的图片,流量省了将近80%。最重要的是使用WebP之后图片质量还没改变。
  2. 按照设备处理图片的能力来加载图片。在之前,Facebook的App都是统一加载最大分辨率的图片,这样做是为了让用户可以自由的缩放图片。后来改进之后,app最先加载的图片大小适合显示这个图片窗口大小一样。如果需要缩略图,app就只加载缩略图大小的图片,用户需要更高分辨率的图片,app也能加载,而且之前的统一加载最大分辨率的图片了。
  3. 调整缓存和重用图片的策略。工程师测试了不同的缓存策略,不同的缓存大小,最后综合出最优方案。

最后的效果也是讲流量花费减少了50%。

由于许多地区的网络环境比较差,这让Facebook的App的体验也变得十分糟糕,于是工程师也对app的网络效率和可靠性进行了一番改进。

  1. 使用OkHttp。Facebook 很早就开始使用Square公司开发的 OkHttp(一个开源的网络协议栈)了,现在Google 官方也从Android 4.4开始使用 OkHttp作为HttpURLConnection的默认实现了。  OkHttp 支持在糟糕的网络环境下面更快的重试,并且还能利用 SPDY 协议进行快速的并发网络请求。
  2. 利用Okhttp调整图片的预先抓取算法,确保app中下载队列前面的图片被优先处理,防止队列阻塞时间过长。

经过优化后,图片加载慢或者加载 失败的反馈少了将近90%。

工程师在非洲的时候发现人们使用数量最多的手机磁盘空间很小,也就是说这给用户升级带来的障碍,进而可以推断这些人们因为手机的空间问题而一直使用旧版本的app,那么他们也就无法升级享受前面提到过的优化后的app体验。于是工程师开始致力于如何对app文件大小进行优化:

  1. 利用Google Play提供的功能为不同的Android版本、不同的Android屏幕分辨率的手机提供不同的安装文件。这样就可以在不同的设备上面进行功能的取舍了。
  2. 当然在这个过程中需要监测工具和测试工具来保证优化app文件大小之后app功能的正常性。现在Facebook的工程师已经开发出一套可以计算每个特性对Facebook Android App贡献了多大的空间。

经过优化之后的文件大小减少了将近65%。

Facebook 工程师们的非洲之旅让他们更加理解了移动app性能、数据处理的有效性、网络的可靠性以及app的文件大小对发展中国家移动市场意味着什么。

最新文章
在线第一字体转换器,文字之美的新体验
在线第一字体转换器,为您带来文字之美的新体验。无需复杂操作,即可轻松实现字体转换,展现个性魅力。无论您是在设计作品、撰写文章还是制作网页,都能通过这款转换器找到心仪的字体。转换过程简单快捷,为您节省大量时间。尽享文字之美,
卖一辆亏5万,知情人称极越亏损已超百亿:百度曾想零对价卖给吉利
专题:供应商讨债?经营遇困?极越启动大规模裁员!CEO夏一平被员工围堵在办公室  来源:腾讯汽车  特约作者谢婉  今年7月,百度董事长李彦宏和吉利董事长李书福在北京有过一次会面,话题是关于两家公司共同投资的汽车企业极越。吉利
赋能发展 出奇“智”胜 智能制造创业沙龙
随着科技进步和信息技术的飞速发展,智能制造已经成为了推动工业升级的重要动力。为了促进智能制造领域的技术交流和合作,展示最新的智能制造技术和应用,我们计划举办一场智能制造沙龙活动。本次活动将邀请行业内的专家、企业代表和相关机
有意思,没毛病的奥迪A5 这才是年轻人要的中型车
从外观来看,2020款延续了现款设计风格,六边形进气格栅配合奥迪的logo极具辨识度。而更是科技感十足,配合s-line套件,使整个前脸更显动感时尚。此外,新车还将增加s动感型和s-line运动型两种外观风格供消费者进行选择。新款奥迪a5的内饰
“AI+医疗”里程碑时刻 迈瑞医疗推出启元重症大模型 12月14日,国产医疗器械龙头 迈瑞医疗 (300760.SZ)在中国北京发布全球首个临床落地的重症医疗大模型
来源:雪球App,作者: 证券市场周刊市场号,(https://xueqiu.com/2994748381/316885950)12月14日,国产医疗器械龙头(300760.SZ)在中国北京发布全球首个临床落地的重症医疗大模型——“启元重症大模型”。中国学术年会大会主席、中国工
校园纯情游戏攻略:精彩视频解析
最近,“校园纯情游戏”这个话题在玩家群体中掀起了一股热潮。这款游戏以其清新唯美的画风、恰到好处的剧情设置和引人入胜的游戏玩法而备受好评。然而,对于一些玩家来说,游戏中的一些关卡设计、任务攻略、角色技能等方面还是稍显困难,因
揭秘未来航路气象,预测2024年12月10日全球航路实时气象图展示揭晓!
随着科技的进步和全球气候变化的关注度不断提高,准确预测航路气象状况对于航空安全、航班准时以及全球气候研究具有重要意义,本文将重点讨论如何通过现代气象学知识和技术手段,对2024年12月10日的全球航路实时气象图进行猜测与分析,我们
百度TOP位设计_百度Top设计教程
摘要:百度TOP位设计,百度Top设计教程,新片场素材小编苗睿安百度TOP位设计,百度Top设计教程相关内容整理,如果您对百度TOP位设计,百度Top设计教程感兴趣欢迎访问免费阅读。百度TOP位设计,百度Top设计教程一、百度TOP位在线设计教程介绍如
可视化微信小程序(企业版)插件
1.数据同步,一站式管理。2.成本低,别的平台上千每年的续费成本,咱们插件一次付费百来块终身使用!3.可视化编辑,小白也可以diy自己拼接出个性风格。4.模板精美,多套现成模板风格任意切换,短时间搞出高逼格的效果。5.更多亮点,大家可
狼雨SEO空间,揭秘高效SEO优化秘籍,让你的网站独领风
狼雨SEO空间专注于揭秘高效SEO优化策略,助您网站在搜索引擎中脱颖而出。通过专业指导,提供实用技巧,帮助您提升网站排名,吸引更多流量,实现网络营销目标。随着互联网的不断发展,搜索引擎优化(SEO)已经成为网站中不可或缺的一环,在
相关文章
推荐文章
发表评论
0评