ANDROID開發技術週報 ISSUE#90


新聞

  1. [圖]谷歌把電子寵物作成了Android 7.0的彩蛋:90後的回憶html

  2. Android 7.0新功能:官方或第三方應用一目瞭然java

教程

  1. 理解Android存儲系統架構node

    本文主要介紹跟存儲相關的模塊MountService和Vold的總體流程與架構設計.MountService:Android Binder服務,運行在system_server進程,用於跟Vold進行消息通訊,好比MountService向Vold發送掛載SD卡的命令,或者接收到來自Vold的外設熱插拔事件。Vold:全稱爲Volume Daemon,用於管理外部存儲設備的Native守護進程,這是一個很是重要的守護進程,由NetlinkManager,VolumeManager,CommandListener這3部分組成。react

  2. Android 着色器 Tint 研究android

    Tint 這個東西 主要用來減小apk體積的,好比說我如今有一個textview,他的背景圖 有兩種,一種是當得到焦點時顯示的a圖,另外一種是 失去焦點時顯示的b圖。相信你們開發的時候 這種需求作過不少次了,咱們通常都會發現 這種a圖和b圖 除了顏色不同,其餘都是同樣的,可是咱們作的時候呢,一般是找ui要了兩張圖。若是要適配分辨率的話 頗有可能圖片會更多,並且在切換的時候 由於是從新加載一次bitmap 效率也會降低不少。因此谷歌就給了一套解決方案 這個就是tint了。他的目的就是當你發現有這種需求的時候,只須要 放一張圖 在apk裏便可,當你須要改變背景圖的顏色的時候 就用Tint便可!git

  3. PathMeasure之迷徑追蹤github

    Path,不管是在自定義View仍是動畫,都佔有舉足輕重的地位。繪製Path,能夠經過Android提供的API,或者是貝塞爾曲線、數學函數、圖形組合等等方式,而要獲取Path上每個構成點的座標,通常須要知道Path的函數方法,例如求解貝塞爾曲線上的點的De Casteljau算法,但對於通常的Path來講,是很難經過簡單的函數方法來進行計算的,那麼,如何來定位任意一個給定Path的任意一個點的座標呢?web

  4. 圖片之旅算法

    在開始圖片之旅以前,先來聊聊圖形學的一些基礎,這些在圖片處理的過程當中或多或少都要接觸。1.像素點:計算機顯示的圖像是由像素點組成的,每一個像素點有RGB三種顏色,這三種顏色按必定比例混合就能夠獲得實際的色值。圖片尺寸爲640 x 480,表明圖片水平有640個像素點,垂直有480像素點。2.color depth、bit depth: 每一個像素RGB若各用8位表示,bit depth就是8bit,那麼這個像素就用24位表示,color depth就是24bit。一個像素color depth越深,像素表達的顏色和亮度的位數越多,文件就越大。安全

  5. React 移動 web 極致優化

    學習React的好處就是,學了一遍以後,可以寫 web, node 直出,以及 native,可以適應各類紛繁複雜的業務。須要輕量快捷的,直接能夠用 Reactjs;須要提高首屏時間的,能夠結合 React Server Render;須要更好的性能的,能夠上React Native。可是,這其實暗示學習的曲線很是陡峭。單單是 Webpack+ React + Redux 就已夠一個入門者夠嗆,更況且還要兼顧直出和手機客戶端。不是通常人能 hold住全部端。

  6. Android 7.0對受信任的證書頒發機構作出變動

    在 Android Nougat (7.0) 中,咱們更改了 Android 處理受信任證書頒發機構 (CA) 的方式,從而提供了更安全的系統默認設置,保障了應用流量安全。大多數應用和用戶不受這些變動的影響,也不須要採起任何行動。這些變動包括:1.安全而簡單的 API,用於信任自定義 CA。2.默認狀況下,針對 API 級別 24 及以上版本而開發的應用再也不信任用戶或管理員爲安全鏈接添加的 CA。3.全部運行 Android Nougat 的設備均提供同一套標準化的系統 CA,而沒有任何設備特定的自定義 CA。

  7. 貝塞爾曲線開發的藝術

    在Android中,通常來講,開發者只考慮二階貝塞爾曲線和三階貝塞爾曲線,SDK也只提供了二階和三階的API調用。對於再高階的貝塞爾曲線,一般能夠將曲線拆分紅多個低階的貝塞爾曲線,也就是所謂的降階操做。下面將經過代碼來模擬二階和三階的貝塞爾曲線是如何繪製和控制的。

  8. Android打包提速實踐

    AS的代碼結構和eclipse徹底不一樣,它爲開發者提供了單工程多module的形式。但多創建一個module就須要多維護一個module。因此若是僅僅是爲了方便寫代碼而創建一個module是不可取的,我強烈建議先作好項目結構的梳理再考慮是否須要創建module。

開源庫&項目

  1. jadb

    ADB Client in pure Java.

  2. ixjava

    Interactive Extensions for Java

  3. create-react-app

    Create React apps with no build configuration.

  4. LogReport

    一個崩潰日誌上傳框架,當App崩潰的時,把崩潰信息保存到本地的同時,自動給GitHub提交崩潰issue,你只須要幾句,就能完成全部配置

  5. CircularAnim

    Android水波動畫幫助類,一行代碼實現View顯示/隱藏/startActivity特效。(對Android ViewAnimationUtils.createCircularReveal() 方法的封裝)

  6. PaperShredder

    碎紙機動畫效果

  7. Tinker_imitator

    微信熱更新方案實踐

  8. ScrollNumber

    一個 簡單、優雅、易用 的滾動數字控件!

  9. SubmitButton

    A cool and elegant Submit Button

  10. GiftCard

    A beautiful gift Cards for android

  11. Console

    Android console implementation

  12. RingProgressBar

    一個簡單實現的自定義圓環進度條,可以使用於文件的上傳下載圖片加載等地方

  13. StereoView

    3D立體無限旋轉滾動容器

  14. StatusBarCompat

    一個實現透明狀態欄的兼容庫,支持 Api 19 及其以上

  15. WaveSideBar

    一個快速跳躍分組的側邊欄控件

  16. MDAvatars

    The main goal is working with svg to make profile pictures.

  17. BottomNavigation

    Android Material Design "BottomNavigation" design pattern implementation

工具

  1. FontZip

    字體壓縮神器

  2. Marp

    一個 能夠將 Markdown 格式直接生成PPT,編輯方便,兼容性好,還能夠進行版本管理的工具

  3. Githug

    一個命令行工具被設計來練習你的 Git 技能,它把日常可能遇到的一些場景都實例化,變成一個一個的關卡,一共有 55 個關卡,因此將他形象的形容爲 Git 遊戲

技術以外

    1. 如何給一個App起名字?

      選擇一個App的名字是一個排它性的決策,由於它只能有一個。而不管你最後用了哪個,都意味着要放棄全部其餘的選擇。也就是說,一個最終被選擇的好名字,它應該是有戰略的。

相關文章
相關標籤/搜索