Android開發周報:微信模塊化重構實踐、滴滴插件化項目開源
7月份安卓各版本份額:牛軋糖終于突破兩位數:谷歌近日給出了安卓系統各版本最新的份額數據,去年推出牛軋糖版本(7.0,7.1)終于達到了兩位數的市場份額,占11.5%。2015年推出的棉花糖仍然占據統治地位,市場份額達31.8%,之后是棒棒糖,也高達30.1%。
《谷歌暗示:Android 8.0系統正式版即將到來》:從谷歌發布信息來看,谷歌會于本月底推送Android 8.0的最后一個開發者預覽版,此版本將接近于最終正式版。據外媒softpedia報道,谷歌已經證實Android 8.0的正式版會在2017年第三季度正式發布,最快下月底推出。首批機型包括Google Pixel和Google Pixel XL,以及Nexus 5X和Nexus 6p。
《Google放出Android Things Console新預覽》:去年底,Google 發布了自家的物聯網平臺 —— Android Things(原 Project Brillo)—— 以便開發者們打造基于連接設備的新體驗,并與微軟的 Windows 10 IoT Core 展開競爭。在最初預覽發布之后,Google 一直在頻繁增強 OS 和添加新功能,包括支持 Google Assistant SDK 。而現在,該公司又放出了 Android Things Console 的預覽。
《Google Play商店V8更新:在可更新應用列表直接查看更新日志》:Google Play有了新的版本,你可以將其升級到V8,雖然我們不知道這個版本里面所有的新功能,但至少有一個重大的變化,那就是你可以直接在可更新應用的列表中點擊箭頭,展開應用的更新日志,而不用挨個點進去看。
教程《微信Android模塊化架構重構實踐》:隨著代碼膨脹,一些問題開始突顯出來。基礎工程一直處于不斷膨脹的狀態,同時主工程也在不斷變大。同時基礎工程存在中心化問題,許多業務Storage類被附著在一個核心類上面,久而久之這個類已經沒法看了。此外當初為了平滑切換到gradle避免結構變化太大以及太多module,我們將所有工程都對接到一個module上。缺少了編譯上的隔離,模塊間的代碼邊界出現一些劣化。雖然緊接著開發了工具來限制模塊間的錯誤依賴,但這段時間里的影響已經產生。在上面各種問題之下,許多模塊已經稱不上“獨立”了。所以當我們重新審視代碼架構時,以前良好模塊化的架構設計已經逐漸變了樣。因此,微信團隊決定重構。
《滴滴插件化項目VirtualAPK開源》:滴滴團隊在 2016 年開始研究插件化方面的技術,經過半年的開發、測試、適配和線上驗證,目前推出了一款比較完善的插件化框架:VirtualAPK。之所以現在推出來,是因為 VirtualAPK 在內部已經得到了很好的驗證,在迭代過程中不斷地做機型適配和細節特性的支持,目前已經達到一個非常穩定的狀況,足以支撐滴滴部分乃至全部業務的動態發版需求。目前 VirtualAPK 應用于滴滴乘客端和優步中國 APP 中,大家可以去體驗。
《WebView安全性的新功能》:應用程序中對于外部和不信任內容的處理經常是重要的功能之一。新聞閱讀器顯示頭條新聞文章、購物應用展示銷售物品的目錄。作為處理不信任內容而帶來的相關風險是一個攻擊者能夠損害您的應用程序主要的方式之一,即傳遞給你錯誤格式的內容。
《GIF簡述及其在QQ音樂的應用》:GIF(Graphics Interchange Format)是CompuServe公司在1987年開發的圖像文件格式,原義是圖像互換格式。GIF是一種基于LZW算法的連續色調的無損壓縮格式,其壓縮率一般在50%左右,它不屬于任何應用程序。本文詳細介紹了GIF的知識點。
《深入理解 Android 控件》:本篇文章主要通過源碼講述 Android 控件系統,包括輸入事件是如何產生的, View 是如何繪制的,輸入事件是如何傳遞給 View 的,Window token 與 type 之間的聯系等。整個系統比較復雜,每個部分只能點到為止,有興趣可以繼續深入,主要是讓讀者對 Android 控件系統有一個大體的認識。
《Android上的Notification》:Notification是自Android發布以來就有的API,也是應用程序中最常用的功能的之一,開發者對其應當是相當的熟悉了。在Android近幾年的版本更新中,幾乎每個版本都會對系統通知界面,以及相關API做一些的改變。這些改變使得開發者可以更好的控制應用程序的通知樣式,同時也使得通知功能更易于用戶使用。本文詳細講解了Notification方面的知識,推薦大家閱讀。
《Android NDK開發掃盲及最新CMake的編譯使用》:本文解釋了JNI、NDK, 以及分別和 Android 開發、c/c++ 開發的配合。并且在解釋過程中對 Android.mk、Application.mk、ndk-build、CMake、CMakeList 這些常見名詞進行掃盲。本文旨在簡介 Android 中 NDK 是什么以及重點講解最新 Android Studio 編譯工具 CMake 的使用,對于入門NDK開發很有幫助。
《微信移動數據庫組件WCDB(四) — Android 特性篇》:微信的移動端數據庫組件 WCDB 已經正式開源了,有關注的小伙伴可能已經用上了。之前已經發過幾篇 iOS 和修復的文章,Android 由于接口跟系統幾乎一樣,相信大家都比較熟悉,不熟悉用法也可以到 Android Developer 官網看一下。但是,我們也有一些特色功能和優化大家可能不容易注意到, 本文為我們進行了詳細介紹。
Android 平臺 Native 代碼的崩潰捕獲機制及實現》:在Android平臺,native crash一直是crash里的大頭。native crash具有上下文不全、出錯信息模糊、難以捕捉等特點,比java crash更難修復。所以一個穩定、可靠的異常處理組件顯得尤為關鍵。
開源項目RePlugin:RePlugin是一套完整的、穩定的、適合全面使用的,占坑類插件化方案,由360手機衛士的RePlugin Team研發,也是業內首個提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。
SmartRefreshLayout:Android智能下拉刷新框架,支持越界回彈,集成了幾十種炫酷的Header和 Footer。
AppUpdate:Android 版本更新解決方案。界面和功能都很贊。
PopsTabView:PopsTabView是個filter容器,他可以快速,構建不同篩選樣式,自由組合成一組tab。
PaletteImageView:懂得智能配色的ImageView,還能給圖片設置多彩的陰影。
感謝徐川對本文的審校。
來自:http://www.infoq.com/cn/news/2017/07/Android-weekly-wechat-re-didi?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=news
相關文章: