Android開發周報:Android Studio 2.2發布、微信熱補丁方案開源

新聞

  1. 《Android Studio 2.2發布:改進平臺支持 速度提升更智能》 :Google剛剛發布了Android Studio 2.2,這款IDE(集成開發環境)旨在幫助開發者們從頭打造Android應用。老用戶可以直接在軟件的設置項中點擊更新,新手們則可以到官方下載頁查看最新內容。Android產品經理Jamal Eason在開發者博客文章中總結了本次更新的內容,主要集中在速度、智能和Android平臺支持三個方面。

  2. 《Chrome PC能運行Android應用了》 :目前智能手機上的應用數量已經超過PC,其中一些實用App更是受用戶喜愛。于是便有不少用戶希望能夠在PC上運行智能手機應用,免去一手拿鼠標、一手抓手機的不便。

    現在,谷歌表示用戶們的這一期需已經實現,最新版本的Chrome OS已經可以支持Android App。

  3. 《谷歌測試Android/Chrome OS混合系統 代號“仙女座”》 :據外媒報道,谷歌將在10月4日舉行的發布會上推出新硬件,但是近期有消息稱,此次活動的最重要部分可能不是硬件,而是軟件。消息稱,傳聞已久的Android/Chrome OS混合系統內部代號為“Andromeda”(仙女座)。目前還不清楚這款系統是否會登陸上市近兩年的Nexus 9,但是谷歌正在該平板電腦上測試這一系統。

教程

  1. 《微信Tinker的一切都在這里,包括源碼(一)》 :最近半年以來,Android熱補丁技術熱潮繼續爆發,各大公司相繼推出自己的開源框架。Tinker在最近也順利完成了公司的審核,并非常榮幸的成為github.com/Tencent上第一個正式公開的項目。在筆者看來Android熱補丁技術應該分為以下兩個流派:Native流派與Java流派。他們都有著自己的優缺點,它們具體差異大家可參考上文。事實上從來都沒有最好的方案,只有最適合自己的。

  2. 《Android DataBinding 數據綁定》 :數據綁定簡單來說,就是通過某種機制,把代碼中的數據和xml(UI)綁定起來,雙方都能對數據進行操作,并且在數據發生變化的時候,自動刷新數據。在2015年的谷歌IO大會上,Android UI Toolkit團隊發布了DataBinding 框架,將數據綁定引入了Android開發,當時還只支持單向綁定,而且需要作為第三方依賴引入,時隔一年,雙向綁定這個特性也得到了支持,同時納入了Android Gradle Plugin(1.5.0+)中,只需要在gradle配置文件里添加短短的三行,就能用上數據綁定。

  3. 《Retrofit中如何正確的使用https》 :信息安全對于每一個用戶、廠商來說都是非常重要的。Https是客戶端與服務器端通信安全的常用方式。證書鎖定是用來限制哪些證書和證書頒發機構是可信任的。需要我們直接在代碼中固定寫死使用某個服務器的證書,然后用自定義的信任存儲去代替系統系統自帶的,再去連接我們的服務器,我們將這種做法稱之為證書鎖定。本文為我們介紹了證書鎖定的使用、原理及優缺點,以及對介紹了客戶端使用自定義證書。

  4. 《Android耗電量測試及排查方法》 :Android應用耗電量一直是比較麻煩的,也是大家所關注的問題,在4.4系統之前,google一直沒有相關API暴露給外面,所以要研究4.4系統以前的耗電量,就需要研讀Android的源碼;5.0之后的系統,就可以使用adb命令直接獲取。仔細查看BatteryStatsHelper中的processAppUsage這個類,就可以看出,每個app的耗電量主要由以下幾個方面決定:cpu的耗電量、wakelock的耗電量、wifi的耗電量、移動數據的耗電量和其他傳感器的耗電量。

  5. 《Android混淆從入門到精通》 :作為Android開發者,如果你不想開源你的應用,那么在應用發布前,就需要對代碼進行混淆處理,從而讓我們代碼即使被反編譯,也難以閱讀。混淆概念雖然容易,但很多初學者也只是網上搜一些成型的混淆規則粘貼進自己項目,并沒有對混淆有個深入的理解。本篇文章的目的就是讓一個初學者在看完后,能在不進行任何幫助的情況下,獨立寫出適合自己代碼的混淆規則。

  6. 《App優化之消除卡頓》 :用戶對卡頓的感知,主要來源于界面的刷新,而界面的性能主要是依賴于設備的UI渲染性能。如果我們的UI設計過于復雜,或是實現不夠好,設備又不給力,界面就會像卡住了一樣,給用戶卡頓的感覺。本文詳細分析了可能引起卡頓的一些原因及解決辦法。

  7. 《擁抱SVG:苦惱于圖片適配 in Android?》 :SVG是指可伸縮矢量圖形 (Scalable Vector Graphics),它不同于傳統的位圖,不是通過存儲圖像中每一點的像素值來保存與使用圖形,而是通過XML文件來定義一個圖形,通過一些特定的語法和規則來繪制出我們所需的圖像——同樣是使用一張圖片,SVG 的方式是事先定義好怎么去畫這個圖,然后等要用的時候再把它去畫出來,而使用傳統的位圖的話就是已經有了畫出來的圖,然后要用的時候直接把畫好的圖拿出來用。

  8. 《基于Instant Run思想的HotFix方案實現》 :近一年來,各種HotFix庫層出不窮,各家大廠百花齊放,QQ空間最早提出了自己的熱修復實現,接著阿里也開源了自家的AndFix(貌似阿里百川已經給開發者提供了新的Hotfix功能),現在微信又有了Tinker,各家都如此關心HotFix,無非是線上版本的bug對產品影響太大,尤其是DAU比較高的app,更是不能容忍。美團基于Instant run原理推出了自己的Hotfix庫,不過貌似沒有開源,于是自己就按照Instant run的原理也鼓搗出了一個簡單的HotFix實現,可以在不重啟App和Activity的條件下實現修復。代碼地址在 這里

開源項目

  1. SuperPlayer :SuperPlayer 是一個基于IjkPlayer的控制器,支持手勢操作,滑動快進,快退,支持,上滑音量亮度的變化,支持指點位置播放,播放源的切換

  2. tinker :這是Github上騰訊開源的第一個項目。tinker是微信的熱修復解決方案,支持dex、library、resources的動態更新。

  3. BookReader :“任閱”,開源小說閱讀器,高仿追書神器,實現追書推薦、標簽檢索、翻書效果、文章閱讀、緩存章節、日夜間模式、文本朗讀等功能。

  4. CouponView :這是一個半圓鋸齒背景虛線邊框組合實現簡單優惠券效果,可自定義大量參數。

 

 

來自:http://www.infoq.com/cn/news/2016/09/Android-weekly-android-2-2-weixi

 

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