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
推送 從入門到放棄github
推送簡直就是一種輕量級的騷擾方式自從有了推送,各個公司基本上都在使用推送,這確實是一個比較好的提醒方式,Android較iOS強的一個部分,也就是在於Android的Notification。Google教育咱們利用好Android的通知模塊,作更多友好的交互,可這句話,翻譯成中文,不知不覺,就變成了在Notification中推送各類廣告,並且僅僅就是一些廣告,Notification各類牛逼的功能,徹底不須要,這也違背了Google設計Notification的初衷。更關鍵的是,如今隨便找一款App,沒有推送的真是百裏挑一,更可惡的是,作外賣的App給我推送奧運新聞,一條新聞十幾個App推送,以致於如今不少用戶都很是反感各類推送廣告,就我本人而言,基本上會禁用全部廣告類的App的推送。shell
Android的設計理念之一,即是應用程序退出,但進程還會繼續存在系統以便再次啓動時提升響應時間. 這樣的設計會帶來一個問題, 每一個進程都有本身獨立的內存地址空間,隨着應用打開數量的增多,系統已使用的內存愈來愈大,就頗有可能致使系統內存不足, 那麼須要一個能管理全部進程,根據必定策略來釋放進程的策略,這便有了lmk,全稱爲LowMemoryKiller(低內存殺手),lmkd來決定什麼時間殺掉什麼進程.eclipse
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 源碼以後,跟着本文,過一遍源碼
從去年開始,Android平臺出現了一些優秀的熱更新方案,主要能夠分爲兩類:一類是基於multidex的熱更新框架,包括Nuwa、Tinker等;另外一類就是native hook方案,如阿里開源的Andfix和Dexposed。這樣客戶端也有了實時修復線上問題的可能。但通過調研以後,咱們發現上述方案或多或少都有一些問題,基於native hook的方案:須要針對dalvik虛擬機和art虛擬機作適配,須要考慮指令集的兼容問題,須要native代碼支持,兼容性上會有必定的影響;基於Multidex的方案,須要反射更改DexElements,改變Dex的加載順序,這使得patch須要在下次啓動時才能生效,實時性就受到了影響,同時這種方案在android N [speed-profile]編譯模式下可能會有問題,能夠參考Android N混合編譯與對熱補丁影響解析。考慮到美團Android用戶機型分佈的碎片化,很難有一個方案能覆蓋全部機型。
本篇依舊屬於Matrix,主要講解Camera,Android下有不少相機應用,其中的美顏相機更是很多,不過今天這個Camera可不是咱們平時拍照的那個相機,而是graphic包下的Camera,專業給View拍照的相機,不過既然是相機,做用都是相似的,主要是將3D的內容拍扁變成2D的內容。衆所周知,咱們的手機屏幕是一個2D的平面,因此也沒辦法直接顯示3D的信息,所以咱們看到的全部3D效果都是3D在2D平面的投影而已,而本文中的Camera主要做用就是這個,將3D信息轉換爲2D平面上的投影,實際上這個類更像是一個操做Matrix的工具類,使用Camera和Matrix能夠在不使用OpenGL的狀況下製做出簡單的3D效果。
讓咱們的apk文件儘量更小,移除那些未使用的代碼和資源文件。本章節介紹瞭如何作到讓APK更小,性能更好,下載轉化率會更高,以及如何指定在構建APK過程當中保留或移除項目中的代碼和資源,在咱們尚未分析APK大小以前,項目中存在一些資源放置處理不當,沒有統一的規範,依賴管理不合理,資源重疊,dex方法數過多、文件過大等問題,致使整個APK文件也比較大,對於下載轉化率必然有必定的影響。那麼公司要求咱們的產品APK體積大小要優化到3M左右。通過咱們的努力終於達到要求,然而咱們發現還能再小。
Another hotfix 另外一個熱修復方案 Alpha,來自InstantRun 和 Robust 相似
Material Design 風格的使用指南提示效果
一個能夠將圖片和二維碼合併成一張帶有圖片內容的二維碼的庫
一個能夠將圖片轉換爲 Lowpoly 風格的庫
一款優雅時尚的 Android 播放器
能夠經過代碼動態改變 Drawable 顏色的庫
Error handling library for Android and Java
An Android library for double level section headers that stick to the top of list
FingerLock is a library designed to make fingerprint authentication an easy task for Android developers
一個音頻格式轉換庫,支持 AAC, MP3, M4A, WMA, WAV、FLAC 等格式
仿Google 2016 I/O大會裏那個炫酷的時鐘,純SVG動畫
Imitation of Ali credit sesame new old ring view
高仿嗶哩嗶哩動畫安卓客戶端 - ( ゜- ゜)つロ 乾杯~