Android開發技術周報 Issue#100
新聞
教程
-
統計App冷啟動時間。這個任務看上去不難,但是要求統計出來的時間要準,要特別準。意思就是,我必須要按Activity繪制到屏幕上這個時間節點作為標桿,來進行我的統計工作。畢竟如果是因為視圖處理不當而導致的measure/layout/draw耗時太久,這是不能忍的,需要及時統計到。雖然有點蛋疼,但是這個任務還算有意義,我就深挖一下,把過程分享出來。
-
模擬自然動畫的精髓——TimeInterpolator與TypeEvaluator
通過屬性動畫,我們可以模擬各種屬性的動畫效果,但對于這些屬性來說,動畫變化的速率和范圍,是實現一個更加『真實、自然』的動畫的基礎,這兩件事情,就是通過TimeInterpolator與TypeEvaluator來實現的。TimeInterpolator與TypeEvaluator共同作用在ValueAnimator上,通過復合的方式產生最后的數據,這也就是數學上的『復合函數』,TimeInterpolator控制在何時取值,而TypeEvaluator控制在當前時間點需要取多少值。由于這里涉及到兩個變量,所以,這里我們通常使用『控制變量法』來進行這兩個屬性的研究,因為通常情況下,這兩個屬性的作用效果是殊途同歸的。
-
之前講解了很多與View繪圖相關的知識,你可以在 安卓自定義View教程目錄 中查看到這些文章,如果你理解了這些文章,那么至少2D繪圖部分不是難題了,大部分的需求都能滿足,但是關于View還有很多知識點,例如: 讓繪圖更加炫酷的Paint,讓View動起來的動畫,與用戶交互的觸控事件 等一系列內容。本次就帶大家簡單的了解一下與交互息息相關的東西-事件分發原理。
-
Android7.0發布已經有一個多月了,Android7.0在給用戶帶來一些新的特性的同時,也給開發者帶來了新的挑戰,這幾天我將應用適配到Android7.0,其中也遇到了不少問題也踩了一些坑,在這里就把我在Android7.0適配上的一些心得分享給大家,讓大家的應用能早一天跑在Android7.0上。
-
在之前的開發經歷中經常需要導入一些如v4、v7、v13等Android官方的支持包,遇到這些情況時都是網上搜索一下,按照前人給的示例添加依賴。這么稀里糊涂的使用后代碼正常運行了,但不免會對Android官方提供的支持包產生了一些疑問。如,Android官方為什么要提供支持包,都提供哪些支持包,這些支持包又提供了什么特性,開發者又應該如何選擇使用這些支持包?
-
G1 GC,全稱Garbage-First Garbage Collector,通過-XX:+UseG1GC參數來啟用,作為體驗版隨著JDK 6u14版本面世,在JDK 7u4版本發行時被正式推出,相信熟悉JVM的同學們都不會對它感到陌生。在JDK 9中,G1被提議設置為默認垃圾收集器(JEP 248)。
開源庫&項目
-
Android平臺下的原生Markdown解析器
-
Diagonal cut view
-
A quick settings tile to quickly set the animator duration scale.
-
This library help you to achieve popular drop shadow effect from view
-
Java and Android class communication library: New and improved Pub-Sub
-
一個加載界面,可以自定義顏色,可以改變轉動的速度或者通過注冊監聽器的方式去控制這個界面,適合于播放視頻的界面中。(比如加載或者緩存視頻時引入此界面)
-
Qiscus SDK is a lightweight and powerful android chat library. Qiscus SDK will allow you to easily integrating Qiscus engine with your apps to make cool chatting application.
-
Android library for measuring time between multiple independent events.
-
A wrapper for android recyclerview
-
AutoLinkTextView is TextView that supports Hashtags (#), Mentions (@) , URLs (http://), Phone and Email automatically detecting and ability to handle clicks.
-
一款能夠顯示陽歷、農歷、節假日和二十四節氣等,并實現對某月日期的單選或者多選的日歷控件庫
-
Kotlin test framework based on the excellent Scalatest
-
微信小程序版Gank客戶端
-
A realtime blurring overlay for Android (like iOS UIVisualEffectView)
-
Android Image Viewer inspired by StackOverflow's with swipe-to-dimiss and moving animations.
-
Flexible and Easy HTTP/REST Communication library for Java and Android
-
A custom preference item for easy implementation of a color picker in the preference screen.
-
半圓鋸齒背景虛線邊框組合實現簡單優惠券效果,可實現一些簡單組合
工具
-
Android自定義 Lint 檢查插件
-
這是一款專為微信小程序開發的插件,目前可在 IntelliJ IDEA 中使用。它可以幫你完成重復機械無趣麻煩的綁定方法的過程,自動的將需要新建的方法注入到 js 文件中去。
-
he Gradle Bintray Plugin allows you to publish artifacts to Bintray.
-
這是一款讓你「回到過去」的應用,它的作用與系統中的「終端」完全一致,特別的是,它模擬了各種古董級顯示器的顯示效果,年代感十足。
技術之外
-
README 的藝術 (By 灣區日報)
為什么 README 全大寫?因為 UNIX 系統下 ls 會把文件名大寫的文件排在前面;README 文件很重要,需要引起大家重視。好的開源項目只要看 README 就能方便使用了,不用去讀代碼。
來自:http://www.androidweekly.cn/android-dev-weekly-issue-100/