《Disney +》 迪士尼、Marvel、彼思、星球大戰…  高規格電競手機「黑鯊 3」霸氣下殺一萬日幣!   荒野行動 × 乃木坂46 聯名活動第二彈「乃木坂46 LIVE IN荒野〜情人節特別活動〜」!   尤菲登場!追加全新故事篇章的PS5「Final Fantasy VII Remake Intergrade」將於6月10開始販售!   《RESIDENT EVIL VILLAGE》榮獲PlayStation®Partner Awards 2021日本及亞洲地區大獎   換上自己喜歡的設計!「PAC-MAN 99」免費更新內容持續發佈中!   彩虹社旗下VTuber「葛葉」慶生活動廣告於日本涉谷站(東京)・難波站(大阪)・榮站(名古屋)登場!   失落的龍絆2.5周年紀念!納姆頻道公布眾多活動情報!   PONOS推出新手遊《本当の幸せ》日本上線!冥想翱翔空中的奇妙動作遊戲! 

Facebook 重構 iOS Messenger 程式碼少100多萬行

商業

程式通常會隨著時間越來越肥、越來越慢、越來越難維護,造成維護成本提高,臉書(Facebook) 的 Messenger 看來也是如此,但是 Facebook 花了不少時間來整個重構、翻寫整套程式架構,讓程式碼減少84%,執行檔只有原先 1/4 大小,速度比舊版快2倍。

Facebook 重構 iOS Messenger 程式碼少100多萬行

Facebook 公開說明 iOS Messenger 如何更快、更小、更簡化,官方文章懶得看內容的,看圖就可以了解大概做了哪些事情。

原文:Project LightSpeed: Rewriting Messenger to be faster, smaller, and simpler

講簡單點就是把共用的抽出來,然後能用系統原生功能的,就不要自己寫。

通訊軟體的容量大小比較(2020/3)

  • FB Messenger 142.6M
  • LINE 254.6M
  • Hangout 102.4M
  • WeChat 266.1M
  • Feebee 40.9M
  • Google Home 261.6M
  • Facebook 226.3M

下述摘錄自此篇:臉書重建iOS版Messenger,程式碼從170萬行縮減到36萬行

  • iOS Messenger 的程式庫改造原則包括,盡量利用原生作業系統的功能,藉由 SQLite 的動態範本重覆使用 UI,以 SQLite 作為通用系統,以及建置一個能夠介接程式與伺服器功能的伺服器代理人
  • 新版 iOS Messenger 的程式碼數量,從170萬行減少到36萬行,整整少了84%,而它的執行檔大小則只有原先的1/4,在Messenger功能未縮水的狀態下,光速專案還 Messenger的啟用速度,達到舊版的兩倍快。
  • 總之,只要作業系統能做的,臉書就把它們交給作業系統,只有在iOS無法滿足需求時,才會撰寫小程式來彌補。
Tsung

隨機商業新聞