Facebook改善了Android
Facebook出現(xiàn)在紐約的Droidcon上,并向Android用戶帶來了好消息,稱它已經(jīng)改善了News Feed體驗(yàn)。
人們通常在其新聞?dòng)嗛喸瓷瞎蚕淼膬?nèi)容類型已經(jīng)從單純的文本,照片和視頻發(fā)展到更加復(fù)雜的360度視頻或?qū)崟r(shí)播放,因此挑戰(zhàn)在于如何提供流暢的滾動(dòng)體驗(yàn)。正如Facebook本身所解釋的那樣,“ 流暢的滾動(dòng)性能要求UI的單個(gè)幀的完整計(jì)算要在不到16.7毫秒的時(shí)間內(nèi)完成?!?如果計(jì)算時(shí)間過長,則滾動(dòng)動(dòng)畫將受到跳幀的影響,并中斷流暢的滾動(dòng)體驗(yàn)?!?
幸運(yùn)的是,紐約的Facebook工程師團(tuán)隊(duì)提出了解決該問題的方案。通過利用兩個(gè)名為Litho和Infer的Facebook開源項(xiàng)目提供的工具,他們能夠開發(fā)出一種新的體系結(jié)構(gòu),旨在平滑地支持Facebook Android應(yīng)用程序中的各種豐富的身臨其境的格式。
除了改善整個(gè)News Feed體驗(yàn)之外,新的體系結(jié)構(gòu)還成功地執(zhí)行了一種UI工程,這種工程迄今為止在Android上并不常見-稱為多線程渲染。
由Litho帶來的多線程渲染將將UI渲染為多個(gè)線程所需的繁重的計(jì)算過程分開。通常用于3D游戲渲染的這項(xiàng)技術(shù)在技術(shù)上具有挑戰(zhàn)性,但總部位于紐約的工程團(tuán)隊(duì)成功地將其實(shí)現(xiàn)用于新聞提要優(yōu)化目的。
Litho與Infer一起加入,后者正在開發(fā)一種新工具,該工具旨在自動(dòng)搜索使用多線程編程模型可能引起的錯(cuò)誤。兩家公司共同開發(fā)了一種解決方案,不僅可以提高News Feed的性能,而且還提供了可靠的證據(jù),證明可以在Android上大規(guī)模執(zhí)行多線程渲染。