## 新聞
1. [2016 Google I/O大會日期宣布了,今年Sundar Pichai會說些什么?](http://t.cn/R40m79X)
【官方獨家】谷歌CEO桑達爾·皮查伊(Sundar Pichai)今天在Google+上宣布:2016年Google I/O大會將于5月18日至20日舉行。今年大會的地址為谷歌總部山景城的Shoreline Ampitheatre 露天劇場。
2. [Android Studio 2.0 Preview 5 發布](http://tools.android.com/recent/androidstudio20preview5available)
新特性有:增加"cold swap" for Instant Run 功能,在重構菜單中增加了刪除未使用資源的功能、data binding 增加在 xml 中的代碼自動補全提示功能,Implicit API checks,Several new lint checks,Test Artifacts,優化在編寫 Style 時的代碼補全提示功能,會根據 parent styles 給出更合適的 item 以及修復一些列 bug 等等。
3. [木馬SlemBunk再次進化,瞄準全球Android手機銀行用戶](http://www.freebuf.com/articles/93329.html)
FireEye專家們最近發現SlemBunk再次進化,這次它變身成了一個瞄準全球手機銀行用戶的強大的Android木馬。去年十二月,FireEye安全專家首次發現Android銀行木馬SlemBunk,一開始還只是針對銀行用戶使用的手機,作為從第三方網站下載的合法銀行app的副本來迷惑用戶的雙眼。
##教程
1. [聊一聊Android 6.0的運行時權限](http://droidyue.com/blog/2016/01/17/understanding-marshmallow-runtime-permission)
Android 6.0,代號棉花糖,自發布伊始,其主要的特征運行時權限就很受關注。因為這一特征不僅改善了用戶對于應用的使用體驗,還使得應用開發者在實踐開發中需要做出改變。沒有深入了解運行時權限的開發者通常會有很多疑問,比如什么是運行時權限,哪些是運行時的權限,我的應用是不是會在6.0系統上各種崩潰呢,如何才能支持運行時權限機制呢。
2. [Android UI性能優化詳解](http://music4kid.github.io//android/2016/01/11/android-performance-ui/)
性能優化都需要有一個目標,UI的性能優化也是一樣。你可能會覺得“我的app加載很快”很重要,但我們還需要了解終端用戶的期望,是否可以去量化這些期望呢?我們可以從人機交互心理學的角度來考慮這個問題。研究表明,0-100毫秒以內的延遲對人來說是瞬時的,100-300毫秒則會感覺明顯卡頓,300-1000毫秒會讓用戶覺得“手機卡死了”,超過1000ms就會讓用戶想去干別等事情了。
3. [Android平臺的無痕卡慢監控](http://blog.zhaiyifan.cn/2016/01/16/BlockCanaryTransparentPerformanceMonitor/)
在復雜的項目環境中,由于歷史代碼龐大,業務復雜,包含各種第三方庫,偶爾再來個jni調用,所以在出現了卡頓的時候,我們很難定位到底是哪里出現了問題,即便知道是哪一個Activity/Fragment,也仍然需要進去里面一行一行看,動輒數千行的類再加上跳來跳去調來調去的,結果就是不了了之隨它去了,實在不行了再優化吧。于是一拖再拖,最后可能壓根就改不動了,客戶端越來越卡。
4. [Android 開發繞不過的坑:你的 Bitmap 究竟占多大內存?](http://t.cn/R4OrNHP)
做移動客戶端開發的朋友們肯定都因為圖頭疼過,說起來曾經還有過 leader 因為組里面一哥們在工程里面加了一張 jpg 的圖發脾氣的事兒,哈哈。為什么頭疼呢?吃內存唄,時不時還給你來個 OOM 沖沖喜,讓你的每一天過得有滋有味(真是沒救了)。那每次工程里面增加一張圖片的時候,我們都需要關心這貨究竟要占多大的坑,占多大呢?
5. [Android性能優化典范(四)](http://geek.csdn.net/news/detail/50692)
[Android性能優化典范第4季](https://www.youtube.com/playlist?list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE)的課程學習筆記終于在2015年的最后一天完成了(并于2016年1月12日正式發布在CSDN上),文章共17個段落,包含的內容大致有:優化網絡請求的行為,優化安裝包的資源文件,優化數據傳輸的效率,性能優化的幾大基礎原理等等。
6. [Android平臺的崩潰捕獲機制及實現](http://geek.csdn.net/news/detail/50839)
Android系統碎片化造成應用程序崩潰嚴重,在模擬器上運行良好的程序安裝到某款手機上說不定就會出現崩潰的現象。而且,往往都是程序發布之后在用戶端出現了崩潰現象。所以,如何及時捕獲并收集Android平臺的崩潰就顯得愈發重要。目前,市面上已經有第三方SDK可以幫助開發者完成這一功能,本文將跟大家分享一下這些崩潰分析SDK的實現原理。
7. [UC瀏覽器:ZipInputStream引發的思考](http://www.freebuf.com/articles/web/86086.html)
ZipInputStream對于zip文檔不安全的處理方式會直接導致將設備最終控制權交給攻擊者,攻擊者能夠遍歷整個路徑并寫入任何數據。然而今天我并不是要講ZipInputStream的使用方法,當然如果感興趣的開發者朋友可以花點時間看看[《Safely extract files from ZipInputStream》](https://www.securecoding.cert.org/confluence/display/java/IDS04-J.+Safely+extract+files+from+ZipInputStream)
8. [濫用Android ClipData會有什么后果?](http://www.freebuf.com/news/88835.html)
本文將要講述一個濫用Android的ClipBoardManager最后自食惡果的故事,當你使用Android的[Clipboard框架](http://developer.android.com/guide/topics/text/copy-paste.html),你將數據轉換成一個剪切對象,然后將剪切對象傳遞到系統剪貼板。剪貼板同一時間只允許存在一個剪切對象,當應用在剪切板中傳遞一個剪切對象,前面一個剪切對象就會被移除。應用也不需要請求任何特殊許可就能對剪切板進行讀取/寫入。
9. [理解Java NIO](http://yq.aliyun.com/articles/2371)
用戶空間就是常規進程(如JVM)所在區域,用戶空間是非特權區域,如不能直接訪問硬件設備。內核空間是操作系統所在區域,那肯定是有特權啦,如能與設備控制器通訊,控制用戶區域的進程運行狀態。進程執行I/O操作時,它執行一個系統調用把控制權交由內核。
10. [餓了么移動APP的架構演進](http://t.cn/R4072cl)
隨著移動互聯網時代的到來,移動技術也隨之飛速發展。如今,APP已然成為絕大多數互聯網企業用來獲取用戶的核心渠道。與此同時,伴隨著業務量的增長,愈來愈多的APP也在不斷地挑戰著每一個移動端研發人員的知識深度,而移動端技術人員也在這個不斷接受挑戰的過程中,成就了今天的移動互聯網時代。
11. [從0到1:微信后臺系統的演進之路](http://t.cn/R4OruKR)
2個月的開發時間,微信后臺系統經歷了從0到1的過程。從小步慢跑到快速成長,經歷了平臺化到走出國門,微信交出的這份優異答卷,解題思路是怎樣的?
### 開源庫&項目
1. [AndroidUML](https://github.com/Gracker/AndroidUML)
此項目是一個Android UML圖的集合,以前大家畫UML圖的時候,是使用畫圖工具來進行繪圖的,這樣一旦完成之后,別人來修改的代價 就很高,自己去修改的動力也不大,更不利于修改和傳播。
2. [Android-Clean-Testing](https://github.com/txusballesteros/Android-Clean-Testing)
一個 Android Testing 示例項目,你可以學到怎么實現不同的 Testing 類型。
3. [Bundler](https://github.com/workarounds/bundler)
通過注解實現的一種類型的安全方式在 Android 中傳遞 bundles, intents 和參數的庫。
4. [Autoprovider](https://github.com/workarounds/autoprovider)
基于編譯時注解處理實現的 Content Provider 生成器。
5. [CircleLayout](https://github.com/francoiscampbell/CircleLayout)
一個可以實現圓形布局的 Layout 控件。
6. [PasswordLoadingView](https://github.com/Rogero0o/PasswordLoadingView)
在輸入完密碼后會顯示一個很好玩的動畫的控件。
7. [AndroidTargetToolTip](https://github.com/sephiroth74/android-target-tooltip)?
可以在 View 的上下左右位置或者屏幕上任意一點顯示一個類似 Toast 一樣的工具提示 View 的庫。
8. [AndroidPicker](https://github.com/gzu-liyujiang/AndroidPicker)
安卓選擇器類庫,包括日期時間選擇器、單項選擇器、地址選擇器、顏色選擇器、文件目錄選擇器、數字選擇器、星座選擇器等。
9. [SimpleWaveform](https://github.com/maxyou/SimpleWaveform)
顯示一串數據為波形圖,或者條狀圖。
10. [Hybrid](https://github.com/yexiaochai/hybrid)
簡單Hybrid框的實現。
## 工具
1. [Build-time-tracker-plugin](https://github.com/passy/build-time-tracker-plugin)
一個可以連續追蹤構建時間的 Gradle 插件。
2. [Lobotomy](https://github.com/rotlogix/lobotomy)
一個 Android 逆向工程框架和工具集。
## 視頻
1. [更快、更小的 Android 序列化技術](http://chinagdg.org/2016/01/android-serialization/)
數據序列化是 Android 應用很重要的一個方面,同時也影響著 Android 性能。JSON 雖然可讀性好,但這些面向人類的信息卻不是性能最優的。本期 Android Performance Patterns 第四季第14集,Colt McAnlis 為大家介紹一些性能更優的數據序列化方案。
2. [UX Design for Mobile Developers](https://www.udacity.com/course/ux-design-for-mobile-developers--ud849)
Google 官方推出的一套面向移動開發者的用戶體驗設計(UX Design for Mobile Developers)教程。良好的設計和良好的代碼同樣重要。本課程教你最重要的并且立即可用的技術和方法,幫你更好地把握應用中的設計元素。
## 設計
1. [2016年UI設計的新趨勢](http://t.cn/R4OrQpj)
各平臺 (Android/iOS/HTML5/Web) 的標準設計語言接近一致 部分原生控件上只存在風格上的差異,對用戶無顯著影響。Material Design 不會大興其道,更不可能逆襲(用 Material Design 設計的 App 在 iOS 上使用),iOS 的實用主義設計會顯著影響 Material Design。
## 技術之外
1. [怎么做好互聯網公司的技術團隊負責人](https://zybuluo.com/liter/note/266163)
正好寫2015年終總結,其實今年不太想寫的,但是公司有個個人總結要弄,寫了個開始就情不自禁了,談談這方面的總結吧。互聯網公司的技術團隊負責人應該具備怎樣的能力?以下也發表一些個人的總結,這里也參考了曾看到的優質文章和朋友的看法。主要從三個層面討論,當然它并不能適用所有公司,也能可引發一些口水,而且我做的是客戶端負責人,所以,僅供參考咯。
- 前言
- Android開發技術周報 Issue#90
- Android開發技術周報 Issue#89
- Android開發技術周報 Issue#88
- Android開發技術周報 Issue#87
- Android開發技術周報 Issue#86
- Android開發技術周報 Issue#85
- Android開發技術周報 Issue#84
- Android開發技術周報 Issue#83
- Android開發技術周報 Issue#82
- Android開發技術周報 Issue#81
- Android開發技術周報 Issue#80
- Android開發技術周報 Issue#79
- Android開發技術周報 Issue#78
- Android開發技術周報 Issue#77
- Android開發技術周報 Issue#76
- Android開發技術周報 Issue#75
- Android開發技術周報 Issue#74
- Android開發技術周報 Issue#73
- Android開發技術周報 Issue#72
- Android開發技術周報 Issue#71
- Android開發技術周報 Issue#70
- Android開發技術周報 Issue#69
- Android開發技術周報 Issue#68
- Android開發技術周報 Issue#67
- Android開發技術周報 Issue#66
- Android開發技術周報 Issue#65
- Android開發技術周報 Issue#64
- Android開發技術周報 Issue#63
- Android開發技術周報 Issue#62
- Android開發技術周報 Issue#61
- Android開發技術周報 Issue#60
- Android開發技術周報 Issue#59
- Android開發技術周報 Issue#58
- Android開發技術周報 Issue#57
- Android開發技術周報 Issue#56
- Android開發技術周報 Issue#55
- Android開發技術周報 Issue#54
- Android開發技術周報 Issue#53
- Android開發技術周報 Issue#52
- Android開發技術周報 Issue#51
- Android開發技術周報 Issue#50
- Android開發技術周報 Issue#49
- Android開發技術周報 Issue#48
- Android開發技術周報 Issue#47
- Android開發技術周報 Issue#46
- Android開發技術周報 Issue#45
- Android開發技術周報 Issue#44
- Android開發技術周報 Issue#43
- Android開發技術周報 Issue#42
- Android開發技術周報 Issue#41
- Android開發技術周報 Issue#40