非死book開源項目匯總

cd33 9年前發布 | 96K 次閱讀 Facebook Android開發 移動開發

一. 非死book 開源項目 ATC

之前 非死book 就介紹過針對非發達國家環境,他們 Android 端 App 所做的性能優化,包括加載速度(延遲加載、提前加載)、數據大小(WebP 格式、不同分辨率圖片、緩存算法調優)、網絡(支持 SPDY 協議的 OkHttp、預取算法調整)、App 大小(利用 Google Play 不同分辨率分發不同 APK)

具體可見:improving-非死book-on-android (國內或許不能訪問)

今年他們開源了一個叫 Augmented Traffic Control(ATC) 的項目,這個項目的作用就是模擬不同的網絡環境,再也不用擔心若網絡情況無法復現了!可控制的方面包括:

  1. 帶寬
  2. 時延抖動
  3. 丟包率
  4. 錯包率
  5. 包重排序率 這些都是衡量網絡質量的重要指標。

ATC 原理實際是利用了 Linux 流量控制系統,通過純 Python 的網絡庫 pyroute2 調用 netlink 的API 控制。

二. 非死book 其他 Android 相關開源項目

非死book 開源的 Android 相關項目,大都是偏工具類。
這恐怕也是不少人對他們的開源不夠了解的原因了,因為只有到一定程度了你才能用得上這些東西。

1. <a href="/misc/goto?guid=4958879157055489226">buck</a> </h5>

這個能夠并行處理、支持增量編譯的 Android 編譯系統,比原生的編譯速度快很多,對多模塊的大型項目非常實用。

微信就對 Buck 進行了改造,增加 LinearAllocCalculator 和 DexMethodsCalculator 輸出。

2. <a href="/misc/goto?guid=4958866107400682143">Stetho</a> </h5>

這是個強大的 Android Debug 工具。
支持網絡請求監控以及數據庫查看,可以和 Chrome DevTools 結合或者命令行模式。

截圖:
非死book開源項目匯總
Database inspection

3. <a href="/misc/goto?guid=4959629332887499824">fa-adb</a> </h5>

它是一個功能更強大的 adb。
沒有 LF - > CRLF 識別碼,區分標準輸出和標準錯誤,支持程序退出狀態(而不總是返回成功碼 0),殺遠程進程等。

4. <a href="/misc/goto?guid=4959629332973228250">shimmer-android</a> </h5>

這是個支持 shimmer 效果的庫。
shimmer

5. <a href="/misc/goto?guid=4958861956932356511">conceal</a> </h5>

可用于 Android 上數據的快速加密,尤其是對于大文件。

6. <a href="/misc/goto?guid=4958988895036550613">Rebound</a> </h5>

一個模仿彈簧反彈的Java庫,可用于創建動畫。

1. Android 圖片緩存 - Fresco</h4>

GitHub:https://github.com/非死book/fresco
特點:

  • 兩個內存緩存加上磁盤緩存構成了三級緩存
  • 支持流式,可以類似網頁上模糊漸進式顯示圖片
  • 對多幀動畫圖片支持更好,如 Gif、WebP
  • 更多樣的顯示,如圓角、進度條、點擊重試、自定義對焦點
  • 更多樣的加載,如支持 EXIF、全面支持 WebP
  • 支持 Android 2.3+ 有興趣參與源碼分析的可以聯系我哦

PS:WebP 是 Google 最早在 2010 年提出的,希望能夠減少圖片在網絡的傳輸時間,在相同圖片質量下,WebP 比 JPEG 和 PNG 更小。

國外 Google、FB 已經在較廣泛使用 WebP 格式,國內淘寶、微信也都有使用,微信公眾號的圖片一般默認就是 WebP 格式的。

2. 原生應用開發框架 - React Native</h4>

GitHub:https://github.com/非死book/react-native

介紹這個開源項目必須先提下 React,React 還是 非死book 在 2013 年中開源的用于網站 UI 開發的開源 JS 庫。

React Native 就是用 React 進行 Native App 開發的框架。

應該不少人知道 FB 早期的 Android 和 iOS App 都是 H5(HTML5) 版本的,大概在 12 年因為響應太慢最終換回了 Native App,現在他們要重來了嗎?

最后,Android 的小伙伴們,嗯啊,沒錯,這個框架目前只有 iOS 版,React Native 有很大一部分 Native Code 實現,Android 版應該還在搞。

3. 開發集成環境 - Nuclide</h4>

用于 React Native、Web 及原生移動開發的 IDE,基于 GitHub 的 Atom 構建,內部集成了 Buck 提高編譯速度。

來自:http://codekk.com/blogs/detail/Trinea/非死book%20%E7%9A%84%E9%82%A3%E4%BA%9B%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE

 本文由用戶 cd33 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!