Android博客周刊第65期
新聞
1.Android O將允許通過Play Store更新圖形驅動程序
多年來,移動操作系統與桌面環境的一大區別,就是只能隔很長一段時間才能整體升級一次。如果用戶只想更新移動 OS 中的某個基礎模塊,往往特別復雜。相比之下,如果你想要更新 PC 上的顯卡驅動版本
2.Android O功能聚焦:可以暫停下載系統更新
如果用戶沒有很好的互聯網連接,下載大量文件并不總是方便,除非用戶擁有無限數據計劃,否則在無WiFi的情況下繼續下載是一個壞主意。 Google似乎同意這個觀點,因為Android O的第二個開發者預覽版本現在具有“暫停下載”按鈕。
國外博客
1.Exploring the new Android Architecture Components library
What an I/O! There were so many exciting things announced this year and too much that I want to write about! One of the topics that I (and a lot of other people) were hyped for was on Architecture.
2.Dagger 2: Android Modules
Many of the articles I write tend to involve application structure or architectural design patterns; and one of the most recurring topics I tend to visit is that of dependency injection.
3.Delegation in Kotlin
Delegation (in computer science) is the assignment of authority from one instance to another. It can operate mutable as well as static relationship between classes
4.Mirror: Easy Reflection for Java and Android
I’ve been working on Android for a while, and it’s been many years that I must do some tweaking and hacking to call private APIs (using Java Reflection, for good and bad reasons).
5.Google I/O
I have watch yesterday’s Google IO keynote live stream, and what blows me away the most about conferences like this is how international they are. With all that is going on in the world.
國內博客
1.Android原生簡易圖文編輯器和展示實現
盡管Android設備的性能日益增強,但是通過webview來展示內容和原生的體驗還是有一定的差距的,在某些情況下,我們只是需要簡單的圖文并排就夠了,比如一些帖子,這個時候用webview就顯的有點重,考慮到這一點,我們決定在客戶端原生支持特定的網頁標簽。
2.用MediaPlayer+TextureView封裝一個完美實現全屏、小窗口的視頻播放器
在Android總播放視頻可以直接使用VideoView,VideoView是通過繼承自SurfaceView來實現的。SurfaceView的大概原理就是在現有View的位置上創建一個新的Window,內容的顯示和渲染都在新的Window中。
3.帶你學開源項目:LeakCanary-如何檢測 Activity 是否泄漏
OOM 是 Android 開發中常見的問題,而內存泄漏往往是罪魁禍首。 為了簡單方便的檢測內存泄漏,Square 開源了 LeakCanary,它可以實時監測 Activity 是否發生了泄漏,一旦發現就會自動彈出提示及相關的泄漏信息供分析。 本文的目的是試圖通過分析 LeakCanary 源碼來探討它的 Activity 泄漏檢測機制。
4.你知道Thread線程是如何運作的嗎?
我們在Android開發過程中,幾乎都離不開線程。但是你對線程的了解有多少呢?它完美運行的背后,究竟隱藏了多少不為人知的秘密呢?線程間互通暗語,傳遞信息究竟是如何做到的呢?Looper、Handler、MessageQueue究竟在這背后進行了怎樣的運作。
5.Android性能優化(十)之App瘦身攻略
如果你對App優化比較敏感,那么Apk安裝包的大小就一定不會忽視。關于瘦身的原因,大概有以下幾個方面:對于用戶來說,在功能差別不大的前提下,更小的Apk大小意味更少的流量消耗,也意味著更多的用戶下載.
6.深入理解ConcurrentHashMap
HashMap是我們平時很常用到的集合,但它是非線程安全的,解決方案有Hashtable和Collections.synchronizedMap(hashMap),然而這兩種方式太過低效,所以Doug Lea為我們設計了既線程安全性能也相對優秀的ConcurrentHashMap類.下面我們一起學習.
7.Kotlin 函數與函數式編程
如果你對Kotlin語法一無所知,推薦先閱讀官方文檔或者中文站,之后再看這篇文章會有更深刻的理解。本篇文章主要介紹Kotlin函數的用法,以及自己對函數式編程的一些理解。并且會和Python,C++做一些比較。
8.Android如何提高編程效率
人類在起源和發展過程中,體形、使用工具和是否著衣這三個方面逐漸發生了變化:從半直立行走到直立行走;從不會使用工具,到使用天然工具,再到制造和使用簡單工具,直到制造和使用包括電腦在內的各種復雜的現代工具。
9.ThreadPoolExecutor 線程池調度器
核心線程數,核心線程會一直存活,即使沒有任務需要處理。當線程數小于核心線程數時,即使現有的線程空閑,線程池也會優先創建新線程來處理任務,而不是直接交給現有的線程處理。核心線程在allowCoreThreadTimeout被設置為true時會超時退出,默認情況下不會退出。
10.Kotlin初體驗
今天多個群都炸了鍋,原因很簡單: Google "招安"了Kotlin , 成為Android 平臺的first-class 開發語言。據說在發布會上,這個消息的宣布獲得臺下最熱烈的歡呼聲。 這是為什么? 難道是因為Android開發者一直羨慕iOS有簡單好用的Swift, 但是自己只能用“傻大笨粗” 的Java, 現在終于可以翻身了,Kotlin救世主降臨了!
11.Handler源碼分析
關于線程之間發送消息,有很多種方法,如RunonUiThread,handler的post方法,AsyncTask ,view的post方法等等。大部分場景,都是可以通過handler傳遞一個message來實現的,現在我們具體看一下它是如何實現的。
類庫
1.android-magic-surface-view
一個使用openGL渲染的動畫
2.Anti-recall
模仿微信撤回功能
3.MaterialShadows
一個陰影效果的類庫
4.RotatingText
一個滾動更新文字的TextView
5.ImmersionBar
android 4.4以上沉浸式狀態欄和沉浸式導航欄管理,一句代碼輕松實現,以及對bar的其他設置
6.AccountBook
一個數據存儲使用的 Leancloud、架構采用 MVP 的記賬本 APP。(目前正在不斷完善中)
7.Sneaker
一個輕量級的自定義警報庫
8.Kotlin-Android-Template
一個Kotlin MVP 架構模板
9.EasyTransition
過度動畫Shared Elements類庫
10.swipe-button
自定義的滑動按鈕
11.InsLoadingAnimation
加載動畫
12.HorizontalScrollSelectedView
橫向滑動效果
13.OnePush
OnePush一個可拓展的Android消息推送SDK,可同時集成多方推送,根據手機機型注冊推送,從而保證推送的送達率
14.Dayu
一款開源指紋識別工具。
博外話
1.Google 力挺 Kotlin,這是怎么回事!
今年 Google I/O 2017 開發者大會中,Google 宣布正式把 Kotlin 納入 Android 程序的官方一級開發語言(First-class language)。Kotlin 主要由俄羅斯團隊 JetBrains 開發,能與 Java 互通,但擁有 Java 不支持的功能。
2.如何學習新技術
我從 2009年~2010 年左右開始學習信息技術,從初期圍繞單片機做電子設計,一路淺嘗輒止,走馬觀花。什么語言都用過,在各種平臺上都干過活,有用的沒用的都學了一些,一路嘗鮮一路丟。雖然有識之士們都說,光靠廣度沒法找到工作,要對一門手藝有深度,到達深奧幽玄的境界。
來自:http://www.androidblog.cn/index.php/Index/detail/id/75