Android開發技術週報 Issue#98

新聞

  1. Android Studio 2.2發佈:改進平臺支持 速度提高更智能css

  2. Nexus 5非官方吃上Android 7.0 Nougathtml

  3. Google Pixel新機可能容許雙安卓系統啓動java

教程

  1. C++11學習android

    當Android用ART虛擬機替代Dalvik的時候,爲了表示和Dalvik完全劃清界限的決心,Google連ART虛擬機的實現代碼都切換到了C++11。C+11的標準規範於2011年2月正式落稿,而此前10餘年間,C++正式標準一直是C++98/03[①]。相比C++98/03,C++11有了很是多的變化,甚至一度讓筆者大呼不認識C++了[②]。不過,做爲科技行業的從業者,咱們要銘記在心的一個鐵規就是要擁抱變化。既然咱們不認識C++11,那就把它當作一門全新的語言來學習吧。git

  2. 推送 從入門到放棄github

    推送簡直就是一種輕量級的騷擾方式自從有了推送,各個公司基本上都在使用推送,這確實是一個比較好的提醒方式,Android較iOS強的一個部分,也就是在於Android的Notification。Google教育咱們利用好Android的通知模塊,作更多友好的交互,可這句話,翻譯成中文,不知不覺,就變成了在Notification中推送各類廣告,並且僅僅就是一些廣告,Notification各類牛逼的功能,徹底不須要,這也違背了Google設計Notification的初衷。更關鍵的是,如今隨便找一款App,沒有推送的真是百裏挑一,更可惡的是,作外賣的App給我推送奧運新聞,一條新聞十幾個App推送,以致於如今不少用戶都很是反感各類推送廣告,就我本人而言,基本上會禁用全部廣告類的App的推送。shell

  3. Android LowMemoryKiller原理分析框架

    Android的設計理念之一,即是應用程序退出,但進程還會繼續存在系統以便再次啓動時提升響應時間. 這樣的設計會帶來一個問題, 每一個進程都有本身獨立的內存地址空間,隨着應用打開數量的增多,系統已使用的內存愈來愈大,就頗有可能致使系統內存不足, 那麼須要一個能管理全部進程,根據必定策略來釋放進程的策略,這便有了lmk,全稱爲LowMemoryKiller(低內存殺手),lmkd來決定什麼時間殺掉什麼進程.eclipse

  4. 拆輪子系列:拆 RxJavaide

    RxJava 這個項目已經持續四年半了,第一個 commit 是在 2012 年 3 月 18 號。我從 14 年 11 月份開始使用 RxJava,應該算是比較早的,將近兩年過去了,如今 RxJava 1.x 版本已經進入穩按期,2.0 版本也已經進入了 RC 階段。本來打算把 Advanced RxJava 系列博客翻譯完以後再拆 RxJava 的,可是前兩週看了一個 JW 講 RxJava 的視頻,忽然有種隱隱打通任督二脈的感受,索性趁着中秋佳節,一氣呵成把 RxJava 好好拆開看個究竟。本文的分析基於 RxJava 截至 2016.9.16 的最新源碼,很是建議你們下載 RxJava 源碼以後,跟着本文,過一遍源碼

  5. Android熱更新方案Robust

    從去年開始,Android平臺出現了一些優秀的熱更新方案,主要能夠分爲兩類:一類是基於multidex的熱更新框架,包括Nuwa、Tinker等;另外一類就是native hook方案,如阿里開源的Andfix和Dexposed。這樣客戶端也有了實時修復線上問題的可能。但通過調研以後,咱們發現上述方案或多或少都有一些問題,基於native hook的方案:須要針對dalvik虛擬機和art虛擬機作適配,須要考慮指令集的兼容問題,須要native代碼支持,兼容性上會有必定的影響;基於Multidex的方案,須要反射更改DexElements,改變Dex的加載順序,這使得patch須要在下次啓動時才能生效,實時性就受到了影響,同時這種方案在android N [speed-profile]編譯模式下可能會有問題,能夠參考Android N混合編譯與對熱補丁影響解析。考慮到美團Android用戶機型分佈的碎片化,很難有一個方案能覆蓋全部機型。

  6. 安卓自定義View進階-Matrix Camera

    本篇依舊屬於Matrix,主要講解Camera,Android下有不少相機應用,其中的美顏相機更是很多,不過今天這個Camera可不是咱們平時拍照的那個相機,而是graphic包下的Camera,專業給View拍照的相機,不過既然是相機,做用都是相似的,主要是將3D的內容拍扁變成2D的內容。衆所周知,咱們的手機屏幕是一個2D的平面,因此也沒辦法直接顯示3D的信息,所以咱們看到的全部3D效果都是3D在2D平面的投影而已,而本文中的Camera主要做用就是這個,將3D信息轉換爲2D平面上的投影,實際上這個類更像是一個操做Matrix的工具類,使用Camera和Matrix能夠在不使用OpenGL的狀況下製做出簡單的3D效果。

  7. 那些你不知道的APK 瘦身,讓你的APK更小

    讓咱們的apk文件儘量更小,移除那些未使用的代碼和資源文件。本章節介紹瞭如何作到讓APK更小,性能更好,下載轉化率會更高,以及如何指定在構建APK過程當中保留或移除項目中的代碼和資源,在咱們尚未分析APK大小以前,項目中存在一些資源放置處理不當,沒有統一的規範,依賴管理不合理,資源重疊,dex方法數過多、文件過大等問題,致使整個APK文件也比較大,對於下載轉化率必然有必定的影響。那麼公司要求咱們的產品APK體積大小要優化到3M左右。通過咱們的努力終於達到要求,然而咱們發現還能再小。

開源庫&項目

  1. AnoleFix

    Another hotfix 另外一個熱修復方案 Alpha,來自InstantRun 和 Robust 相似

  2. TapTargetView

    Material Design 風格的使用指南提示效果

  3. Qart

    一個能夠將圖片和二維碼合併成一張帶有圖片內容的二維碼的庫

  4. LowPoly

    一個能夠將圖片轉換爲 Lowpoly 風格的庫

  5. StylishMusicPlayer

    一款優雅時尚的 Android 播放器

  6. DrawableColorChange

    能夠經過代碼動態改變 Drawable 顏色的庫

  7. java-error-handler

    Error handling library for Android and Java

  8. DoubleStickyHeadersList

    An Android library for double level section headers that stick to the top of list

  9. fingerlock

    FingerLock is a library designed to make fingerprint authentication an easy task for Android developers

  10. AndroidAudioConverter

    一個音頻格式轉換庫,支持 AAC, MP3, M4A, WMA, WAV、FLAC 等格式

  11. GoogleClock

    仿Google 2016 I/O大會裏那個炫酷的時鐘,純SVG動畫

  12. CreditSesameRingView

    Imitation of Ali credit sesame new old ring view

  13. OhMyBiliBili

    高仿嗶哩嗶哩動畫安卓客戶端 - ( ゜- ゜)つロ 乾杯~

  14. UniqueAdapter

    藉助DataBinding,只須要一個Adapter

技術以外

  1. 什麼是工程師文化?

  2. 你連自律都作不到,還奢談什麼自由

相關文章
相關標籤/搜索