原创 使用 Navigation + Dynamic Feature Module 實現模塊化

androidx navigation 2.3.0 加入了對 dynamic feature module 的導航支持,因此我們利用這個來分離出多個功能 module 來實現模塊化 國內基本不用的 dynamic feature mod

原创 Andorid性能優化之traceview的使用

一、traceview的使用方式有2種方式 這2種方式可以根據場景,去選擇哪一種方式。最終效果是一樣的 通過手動埋點 Profile 1.1、通過手動埋點。 步驟1: 比如我們知道在點擊一個按鈕的時候,會有卡頓,那麼就可以用 //可以用

原创 Android性能優化:APK瘦身方式大彙總

大家都知道開發中應用程序的性能是非常重要的,將直接影響用戶的體驗,但是性能優化是個老生常談的問題,我們需要慢慢來,本篇文章將從如何減少APK的大小開始,來提升Android App的性能,這裏只是列舉了一些方式方法,讀者可根據自身應用需

原创 月薪不同的三人去面試,面試官問道:各自談談對 binder 的理解?

面試官提了一個問題,我們來看看 、 和 ️ 三位同學的表現如何吧 自認爲無所不知,水平已達應用開發天花板,目前月薪 10k 面試官️:談談你對 binder 的理解 A:binder 是用來跨進程通信的,可以分爲 client、ser

原创 阿里面試官問我:如何加載100M的圖片卻不撐爆內存?你會咋答?

還記得當年面試一個面試官問我怎麼加載巨圖才能不撐爆內存,我沒回答上來,他說分片顯示,我尋思特麼分片能減少內存使用??現在可以打他臉了!內容擴展1.圖片的三級緩存中,圖片加載到內存中,如果內存快爆了,會發生什麼?怎麼處理?2.內存中如果加載

原创 面試官問我:Android中子線程爲什麼不能更新UI?

1.前言 看完《你爲什麼在現在的公司不離職?》,很多同學踏上了面試之路,作爲顏值擔當的天才少年_也開始了面試之路。 2.正文 天才少年_來到一家公司等待面試中。。。 一個眼睛又大又亮的小姐姐,萌萌的站在我去 的面前。 你像一片輕柔的雲在

原创 不要等到面試官問道線程、多線程和線程池,還在頭疼啦! 唉!速看這篇

小編今天爲大家帶來了關於17道線程、多線程和線程池面試專題,對於這些東西,我花費一個月時間整理了一份983頁的完整PDF核心知識點筆記,話不多說往下看↓↓↓;我不休息我還能學 ⊂(‘ω’⊂ )))Σ≡=─༄༅༄༅༄༅༄༅༄༅ 線程、

原创 如何做到在子線程更新 UI?

一般來講,子線程是不能更新 UI 的,如果在子線程更新 UI,會報錯。 但在某種情況下直接開啓線程更新 UI 是不會報錯的。 比如,在 onCreate 方法中,直接開啓子線程更新 UI,這樣是不會報錯的。 override fun o

原创 Android性能優化 | 幀動畫OOM?優化幀動畫之SurfaceView逐幀解析

Android 提供了AnimationDrawable用於實現幀動畫。在動畫開始之前,所有幀的圖片都被解析並佔用內存,一旦動畫較複雜幀數較多,在低配置手機上容易發生 OOM。即使不發生 OOM,也會對內存造成不小的壓力。下面代碼展示了一

原创 Android 11 第二個開發者預覽版發佈,目前支持 Pixel 2/3/3a/4 系列刷機

今天,谷歌發佈了Android 11的第二個開發者預覽版。和此前發佈的第一個預覽版相同,該預覽版也僅適用於開發人員,需要手動下載,目前支持Pixel 2/3/3a/4系列刷機。 Android 11的第二個開發者預覽版並沒有引入任何突破性

原创 Android面經:我的阿里春招之路分享,五面後終拿到Offer

最近正是許多朋友面試的旺季,在此分享一些之前整理的關於面試的乾貨,攢一波RP,回饋社會。 阿里的面試一般採用電話面試的形式,筆者一共參加五輪面試,一面電話面試+在線編程,二面視頻面試+在線編程,三面部門boss面試,四面交叉面,五面HR

原创 小米架構師整理實戰文檔:Kotlin+Gradle+OpenCV+React Native

由於細節內容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節點裏面都有更細化的內容! 整理了一份Android實戰開發核心知識點大禮包。覆蓋Kotlin從入門到進階實戰、Kotlin語法基礎、類型系統與可空類型、類與面向對象

原创 基於 Flutter+Dart 聊天實例 | Flutter 仿微信界面聊天室

1、項目介紹 Flutter是目前比較流行的跨平臺開發技術,憑藉其出色的性能獲得很多前端技術愛好者的關注,比如阿里閒魚,美團,騰訊等大公司都有投入相關案例生產使用。flutter_chatroom項目是基於Flutter+Dart+che

原创 深入理解 RecyclerView 的緩存機制

使用 ScrollView 的時候,它的所有子 view 都會一次性被加載出來。而正確使用 RecyclerView 可以做到按需加載,按需綁定,並實現複用。本文主要分析 RecyclerView 緩存複用的原理。 從緩存獲取 ViewH

原创 談Android應用架構

談到架構,想到的一定是MVC、MVP、MVVM這幾個詞了,然後對比一下它們的優缺點,接下來就是站隊的時間了。常常寫MVC,偶然見到了MVP,“嗯,真香~”。寫久了MVP,又聽說了MVVM,“嗯,真香~”。“真香”定律真是被用得淋漓盡致,此