Android開發周報:Android M即將發布、彈幕源碼開放送

pjp 9年前發布 | 29K 次閱讀 Android

原文  http://www.infoq.com/cn/news/2015/05/Android-M-5-x

新聞

  1. 《谷歌即將發布Android M系統》 :Google本周放出了2015年I/O開發者大會的《會議日程安排表》。根據日程安排和內容描述看,最新版本的Android M操作系統預計會在此次大會中首度亮相。Google在稍早時候公布的日程安排中曾提到了這款最新版本的Android操作系統。雖然公司隨后撤下了有關描述,但Android M的功能改進介紹會是I/O大會的一個重點。據悉,新版本的Android M特別強調了在工作場合的應用。
  2. 《Android 版本分布圖曝光 5.X飆升至10%》 :近日最新的Android系統分布圖得到曝光,其中Android 5.X版本的表現讓人眼前一亮。從系統分布圖來看,Android 4.X依然是絕對主力,其中4.0.3-4.0.4占比5.3%,而4.1.X-4.2.X占比33.7%,4.3和4.4的占比分別是5.5%、 39.8%。值得一提的是,Android 5.0的占比從之前的5%飆升至9%,而5.1也從0.4%升至0.7%。
    二者加起來接近10%。
  3. 《Android Wear客戶端應用更新:支持中文》 :Google已經發布智能手表系統Android Wear一段時間了,也已經發布了安卓設備上的配套客戶端。不過,Android Wear系統及其配套的App一直都沒有中文語言支持,Google最初并沒有打算在中國開展業務。現在,Google發布了新版的Android Wear客戶端,加入了中文語言支持,也許Google有意在中國開展Android Wear相關業務。

教程

  1. 《Android apk 防止反編譯技術第五篇-完整性校驗》 :所謂完整性校驗就是用各種算法來計算一個文件的完整性,防止這個文件被修改。其中常用的方法就是計算一個文件的CRC32的值或者計算一個文件的哈希值。我們在防止apk被反編譯的方法中也可以采用這種方法。我們知道apk生成的classes.dex主要由java文件生成的,它是整個apk的邏輯實現。所以我們可以對classes.dex文件進行完整性校驗,來保證整個程序的邏輯不被修改。如果我們想要保證整個apk文件的完整性,也可以對整個 apk文件進行完整性校驗。點擊文章,查看詳細實現方案。
  2. 《Canvas之translate、scale、rotate、skew方法講解》 :本文是關于Canvas、自定義View的相關知識。Canvas大致可以分為三類: save、restore 等與層的保存和回滾相關的方法;scale、rotate、clipXXX 等對畫布進行操作的方法;drawXXX 等一系列繪畫相關的方法。掌握了這三點,關于View繪制方面的知識就可以說基本畢業了,以后只能靠自己的悟性了。本文詳細講解了Canvas的 translate(平移)、scale(縮放) 、rotate(旋轉) 、skew(錯切),并且提供了實現代碼。
  3. 《安卓自動縮放布局,解決屏幕適配問題》 :做過安卓開發的同學都知道,屏幕適配是一件非常困難的事情。Google官方的解決方案是:screens_support 需要寫多個layout文件以及dimens.xml,工作量大不說,維護也麻煩。其實很多時候我們的需求很簡單,就是要求不同的屏幕看上去效果一樣就可以了。本文作者的解決方案是根據屏幕大小重新對布局以及布局內部對象的大小進行調整。也有的同學提出了采用百分比的方式解決該問題。不過百分比的方式實現相比本文的方法復雜一些,而且也不是完全解決適配問題。詳細信息可以查看該文 《屏幕適配方案》
  4. 《Android屬性動畫完全解析》 :屬性動畫對補間動畫進行了很大幅度的改進,之前補間動畫可以做到的屬性動畫也能做到,補間動畫做不到的現在屬性動畫也可以做到了。本文主要介紹了 ValueAnimator和ObjectAnimator的高級用法。作者給出了兩個Demo,示例了使用ValueAnimator進行View移動,使用ObjectAnimator實現顏色漸變的效果。
  5. 《理解TCP/IP網絡棧&編寫網絡應用(上)》 :很多公司招聘需求上都會有這么一條:熟悉TCP/IP網絡協議。雖然我們每天都上網,都要coding,但如果沒有好好學習過計算機網絡,對于TCP /IP這種相對”底層“知識還遠遠談不上理解。每個技術同學了解網絡協議屬于基本功,特別是移動端的開發人員,需要頻繁的和服務器端進行數據交互及網絡優化。本文是一篇描述TCP網絡棧原理的文章,這里是 英文原文
  6. 《用XML寫出原生設置界面》 :幾乎所有的應用都會有設置和關于頁面。我們一般的實現方式是通過自定義嵌套布局來實現。但這種實現方式不僅麻煩而且還是一個體力活,有時候還不符合 Android規范。其實Android SDK自帶了設置界面,開發者可以根據相應的Api快速實現美觀、規范的設置頁。閱讀文章,看看作者是如果快速實現設置頁與關于頁的。
  7. 《Android 10ms問題:關于Android音頻路徑延遲的解釋》 :相信很多同學都看不懂這個題目,什么10ms、音頻路徑延遲,開發N年了也沒聽過這些概念。筆者也是看了后才明白題目的意思。國內很少有公司研發音頻相關的App,包括手機廠商及ROM團隊,所以10ms問題對于大多數開發者來說沒有任何概念。閱讀本文,給自己充充電。
  8. 《如何檢查 Android 應用的內存使用情況》 :Android是為移動設備而設計的,所以應該關注應用的內存使用情況。盡管Android的Dalvik虛擬機會定期執行垃圾回收操作,但這也不意味著就可以忽視應用在何時何處進行內存分配和釋放。為了提供良好的用戶體驗,做到系統在不同應用間流暢切換,當用戶和應用無交互時,避免應用不必要的內存消耗是很重要的。

開源項目

  1. ijkplayer :ijkplayer是基于FFmpeg n2.6Android/iOS 的視頻播放器,同時提供了Android和iOS的版本,Readme給出了詳細的編譯指南,并且提供了實現Demo。我們可以利用該項目實現一個功能強大的視頻播放器。
  2. MaterialViewPager :ViewPager的Material Design版本,效果和Google Play中的ViewPager幾乎一樣,還提供了多種動畫效果。開發者可以很方便的集成到自己的項目中。
  3. DanmakuFlameMaster :本周B站連續放大招,開源了號稱Android上最好的彈幕引擎。DanmakuFlameMaster使用多種方式 (View/SurfaceView/TextureView)實現高效繪制,采用B站xml彈幕格式解析,支持自定義字體,支持多種彈幕參數設置等。功能強大,應該是視頻類應用的大福利。

工具

  1. Androidtool-mac :Mac用戶的小福利來了,該工具可以對Android設備進行截屏、錄制視頻(Gif和mp4),也可以直接安裝Mac上的apk文件。開發者可以使用 AndroidTool收集Bug報告,還可以運行腳本。最后說明一點:該工具是由swift編寫,你是不是也應該學學Swift了?
 本文由用戶 pjp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!