原创 Android屏幕適配總結

前言 好久之前就想寫一篇跟屏幕適配相關的文章一直沒有動筆,這次下決心抽週末的時間結合我在實際項目中所遇到的問題寫一篇博客。 Android屏幕組成 Android手機屏幕是由很多的像素點(pixels)組成的,從左到右稱爲x軸,從

原创 Android 高級進階之overdraw分析及解決

前言 最近在看Android中性能優化的,其中提到了LinearLayout會引起overdraw,但是並沒有具體的分析原因,我自己查找了一些資料從LinearLayout的繪製等方面來說明爲什麼使用LinearLayout會引起

原创 Android鬆耦合監聽前後臺切換框架

應用處於後臺滿足什麼條件 要判斷當前應用是否處於後臺,有個很簡單的標準,當應用處於後臺的時候,應用中所有的activity肯定都不處於運行中狀態,並且應用所有處於運行中的activity在切後臺時肯定會執行onPause方法。因此通過

原创 高逼格Android轉場動畫

前言 轉場動畫在交互上非常有優勢,本文從轉場動畫的使用場景和方法起,最後是實現掘金中用戶頭像的轉場動畫。 轉場動畫適用的版本 Activity transition APIs 只有在Android 5.0(API 21)或者更高的版本

原创 WorkManager完全解析

前言 之前用IntentService寫了一個輪詢框架,但是並不是很好,後面一直想找個其他方式來改寫一下,找了好多資料發現了WorkManager,WorkManager是google提供的一個非常優秀的後臺任務管理框架,對於提交給W

原创 Room Database完全使用手冊

前言 Android數據持久層直接使用SQLite很麻煩,Google官方推出了Room, Google對Room的定義: The Room persistence library provides an abstraction la

原创 6本通往高級Android開發者必看的英文書籍,附下載地址

前言 看書是每個階段進步必備的過程,要學習Android知識,成爲高級Android程序員,需要非常系統的知識體系結構,看書能夠幫我們從大的框架,理解整體結構。找了好長時間找到了非常好的幾本外國Android方面的書籍,這些書既系統又

原创 andriod搭建自己的輪詢框架

前言 很多時候Android應用需要每間隔一段時間向服務器請求數據,如果服務器數據有更新則通知界面變化。Android中最常用的紅點一般採用的就是輪詢,紅點是爲了在數據有更新時及時的提醒用戶,比如朋友圈更新,當用戶的朋友圈更新時就會顯

原创 Android自己搭建一個實用的SharedPreferences管理類

前言 在項目中經常會用到SharedPreferences來存儲一些配置信息,比如用戶的賬號信息等。但是當項目大了之後如果還在要使用時再單獨創建和使用SharedPreferences就會造成SharedPreferences氾濫,不

原创 自己動手實現Android中的三級緩存框架

前言 2018年過去了,很久之前就希望自己可以潛心研究源碼,研究技術,但是空閒時間不是看電影,就是玩遊戲都沒有認真看技術方面的東西感覺很內疚,2019年一定要好好的研究端正態度,認真學習技術。 爲什麼要三級緩存 有時候Android應

原创 Android自定義View之實現簡單炫酷的球體進度球

前言 最近一直在研究自定義view,正好項目中有一個根據下載進度來實現球體進度的需求,所以自己寫了個進度球,代碼非常簡單。先看下效果: 效果還是非常不錯的。 準備知識 要實現上面的效果我們只要掌握兩個知識點就好了,一個是Handle

原创 DialogFragment使用到源碼完全解析

前言 最近項目中用到了DialogFragment,用起來很方便,但是坑比較多,於是自己研究了下源碼,理清楚DialogFragment中Dialog和Fragment的關係,以及DialogFragment的原理。 DialogFr

原创 DialogFragment自定義佈局和大小踩坑記

前言 最近需要做一個彈出框,裏面包含兩個可以左右滑動的fragment的,採用dialogFragment來實現的,在使用dialogFragment的時候遇到了一些坑,所以抽時間好好梳理一些dialogFragment的使用和注意的

原创 Android應用層View繪製流程與源碼分析

還記得前面《Android應用setContentView與LayoutInflater加載解析機制源碼分析》這篇文章嗎?我們有分析到Activity中界面加載顯示的基本流程原理,記不記得最終分析結果就是下面的關係: 看見沒有,如上

原创 LocalBroadcastManager從使用到源碼分析

前言 自從工作後好長時間都沒寫博客了,一來是實在太忙,二來也沉不下心來看技術文章心態比之前在學校的時候浮躁很多。最近項目裏面用到了LocalBroadcastManager雖然用起來很簡單但是源碼實現起來確實很值得學習的。所以本文先介