原创 2019寒冬,被裁後一週 10 家面試經歷

2019 年對我來說是最幸運的一年,很多小夥伴已經知道了,我多了一個「小情人」。然而,剛忙完回到公司的第二週,我接到了最殘酷的通知,公司經濟狀況不佳 —— 裁員! 雖然可以選擇降薪留下來,但是社保公積金最低,還需要996,無奈只好

原创 性能優化系列(一)找出卡頓的元兇 —— 渲染性能優化

文章首發「Android波斯灣」公衆號,更新地址:https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode 一個 Android 應用是否流暢,或者說是否存在

原创 分享一些 Broadcast 使用技巧

簡介 Broadcast(廣播) 是 Android 的四大組件之一,用於進程/線程間通信。 廣播最大的特點就是發送方並不關心接收方是否接到數據,也不關心接收方是如何處理數據的,它只負責「說」而不管你「聽不聽」。 廣播可以來之系統

原创 Android 高級進階攻略,輕鬆拿 Offer —— 高級工程師學習路線

思維導圖 相關原理 常見 IPC 方式 Binder 機制 AIDL 的使用 Handler 機制 ThreadLocal 原理 AsyncTask 原理 ListView 工作原理 閱讀源碼 熟悉常見優化 Recy

原创 原來 ArrayList 內部原理這麼簡單

簡介 ArrayList 是一種變長的基於數組實現的集合類,ArrayList 允許空值和重複元素,當往 ArrayList 中添加的元素數量大於其底層數組容量時,它會自動擴容至一個更大的數組。 另外,由於 ArrayList 底

原创 屏幕適配最佳實踐

基本概念 屏幕尺寸 手機屏幕對角線的物理尺寸。單位英寸(inch),一英寸大約 2.54cm。常見的手機屏幕尺寸有 4.7 英寸、5.0英寸、5.5 英寸、6.0 英寸等。 像素(px) 像素(英語:Picture Eleme

原创 金三銀四跳槽季,拿上攻略有底氣!【持續更新...】

馬上又到了金三銀四了,整理了一些面試題分,希望對大家有所幫助 ~ 雖然我不推薦大家刷題,這裏僅供大家差缺補漏。所有的知識點還是重在自己理解,用自己的方式表達出來比較好。 Java 知識 基礎 什麼是面向對象(OOP)? 什麼

原创 Android 輕鬆入門學習攻略 —— 初中級工程師學習路線

思維導圖 基礎知識 四大組件 Activity 掌握生命週期、IntentFilter、啓動模式、頁面狀態保存與恢復。 Fragment 掌握生命週期、與 Activity 通信的方式。 Service 掌握生命週期

原创 Android 年薪百萬的進階攻略 —— 資深(專家)工程師學習路線

思維導圖 系統啓動過程 這一部分是 Android 系統從按下電源鍵開始,然後到展示開機界面,再到展示桌面之前的一個過程。瞭解下面相關進程的工作流程,會對 Android 系統有一個整體的概念,是一個從 0 到 1 的過程,對深

原创 不得不學之代理模式

代理模式是一種設計模式,提供了對目標對象額外的訪問方式,即通過代理對象訪問目標對象,這樣可以在不修改原目標對象的前提下,提供額外的功能操作,擴展目標對象的功能。 簡言之,代理模式就是設置一箇中間代理來控制訪問原目標對象,以達到增強

原创 性能優化系列(七)APK 體積優化

文章首發「Android波斯灣」公衆號,更新地址:https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode 減少應用程序安裝包的大小,不僅僅減少了用戶的網絡數

原创 性能優化系列(六)啓動性能優化

文章首發「Android波斯灣」公衆號,更新地址:https://github.com/jeanboydev/Android-ReadTheFuckingSourceCode 提高程序的啓動速度意義重大,很顯然,啓動時間越短,

原创 性能優化系列(五)網絡性能優化

移動互聯網時代,用戶對網絡越來越依賴。雖然網絡環境在逐漸變好,但也對網絡的應用提出了更高的要求,同時開發人員對網絡的重視度卻在下降。確實 WiFi 場景下用戶的網絡質量變好了,而且用戶對網絡流量消耗的敏感度也在下降。 由於對網絡問

原创 性能優化系列(四)電量性能優化

耗電設備 手機各個硬件模塊的耗電量是不一樣的,有些模塊非常耗電,而有些模塊則相對顯得耗電量小很多。 電量消耗的計算與統計是一件麻煩而且矛盾的事情,記錄電量消耗本身也是一個費電量的事情。唯一可行的方案是使用第三方監測電量的設備,這樣

原创 性能優化系列(三)內存性能優化

Android 爲每個應用分配內存時,採用彈性的分配方式,即剛開始並不會給應用分配很多的內存,而是給每一個進程分配一個「夠用」的內存大小,這個大小值是根據每一個設備的實際的物理內存大小來決定的。 隨着應用的運行和使用,Androi