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