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