原创 三幅圖弄懂EventBus核心原理

前言好多分析EventBus的文章,喜歡上來就貼源碼,我看了好多次總是迷迷糊糊的,這次花時間徹底整理一下EventBus,發現EventBus核心其實就是三幅圖,這三幅圖涉及的是三個HashMap表,弄懂這三幅圖那麼EventBus就懂了。

原创 Android中Handler問題彙總

前言handler機制幾乎是Android面試時必問的問題,雖然看過很多次handler源碼,但是有些面試官問的問題卻不一定能夠回答出來,趁着機會總結一下面試中所覆蓋的handler知識點。1、講講 Handler 的底層實現原理?下面的這

原创 Java clone方法深拷貝淺拷貝完全解析

Java中對象的創建clone顧名思義就是複製, 在Java語言中, clone方法被對象調用,所以會複製對象。所謂的複製對象,首先要分配一個和源對象同樣大小的空間,在這個空間中創建一個新的對象。那麼在java語言中,有幾種方式可以創建對象

原创 減少apk大小

前言apk的大小對於下載apk應用的用戶多少有直接的影響,由於手機內存的限制和網絡環境的限制,同一個應用隨着apk越大下載的和使用的人數就會越少,所以減少apk的大小是非常重要的。本文從apk編譯過程,apk的組成,apk大小減少的方法三個

原创 JDBC完全解析

前言以前做項目的時候用到了JDBC操作mysql數據庫,後面百度面試問到數據庫的時候又忘了,最近幾天把項目重新看了一遍,查了相關的文章把JDBC做一個總結。JDBC的結構JDBC(Java DataBase Connectivity,jav

原创 計算機網絡--TCP協議面試知識點總結

前言昨天(2017.8.12)晚上9點多的時候突然接到百度的面試電話,上來就讓自我介紹,介紹完之後就開始問我知不知道滑動窗口協議,知不知道三次握手和四次揮手。於是今天又花點時間把TCP協議相關的做一下總結。TCP特點①TCP是面向連接的傳輸

原创 android高級進階之12條代碼優化以及性能優化

從去年七月份(2018/7/13)入職到現在(2019/8/15)已經一年多了,這一年從一個菜鳥開始慢慢學習到了很多東西,記錄一下在開發過程中遇到的代碼優化和性能優化經驗,方便讓其他人少走彎路。性能優化1、裝箱帶來的內存消耗Boolean

原创 Android屏幕適配總結

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

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

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

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

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

原创 高逼格Android轉場動畫

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

原创 WorkManager完全解析

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

原创 Room Database完全使用手冊

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

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

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

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

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