前言
下面的題目都是在Android交流群大家在面試時遇到的,如果大家有好的題目或者好的見解歡迎分享,樓主將長期維護此帖,
參考決議:郭霖、鴻洋、玉剛、極客時間、騰訊課堂…
內容特點:條理清晰,含影像化表示更加易懂,
內容概要:包括 Handler、Activity相關、Fragment、service、布局優化、AsyncTask相關
、Android 事件分發機制、 Binder、Android 高級必備 :AMS,WMS,PMS、Glide、 Android 組件化與插件化等面試題和技術堆疊!

Handler 相關知識,面試必問!
常問的點:
Handler Looper Message 關系是什么?
Messagequeue 的資料結構是什么?為什么要用這個資料結構?
如何在子執行緒中創建 Handler?
Handler post 方法原理?
Android訊息機制的原理及原始碼決議
Android Handler 訊息機制

Activity 相關
啟動模式以及使用場景?
onNewIntent()和onConfigurationChanged()
onSaveInstanceState()和onRestoreInstanceState()
Activity 到底是如何啟動的
啟動模式以及使用場景
onSaveInstanceState以及onRestoreInstanceState使用
onConfigurationChanged使用以及問題解決
Activity 啟動流程決議

Fragment
Fragment 生命周期和 Activity 對比
Fragment 之間如何進行通信
Fragment的startActivityForResult
Fragment重疊問題
Fragment 初探
Fragment 重疊, 如何通信
Fragment生命周期

Service 相關
行程保活
Service的運行執行緒(生命周期方法全部在主執行緒)
Service啟動方式以及如何停止
ServiceConnection里面的回呼方法運行在哪個執行緒?
startService 和 bingService區別
行程保活一般套路
關于行程保活你需要知道的一切

Android布局優化之ViewStub、include、merge
什么情況下使用 ViewStub、include、merge?
他們的原理是什么?
ViewStub、include、merge概念決議
Android布局優化之ViewStub、include、merge使用與原始碼分析

BroadcastReceiver 相關
注冊方式,優先級
廣播型別,區別
廣播的使用場景,原理
Android廣播動態靜態注冊
常見使用以及流程決議
廣播原始碼決議

AsyncTask相關
AsyncTask是串行還是并行執行?
AsyncTask隨著安卓版本的變遷
AsyncTask完全決議
串行還是并行

Android 事件分發機制
onTouch和onTouchEvent區別,呼叫順序
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法順序以及使用場景
滑動沖突,如何解決
事件分發機制
事件分發決議
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent方法的使用場景決議

Android View 繪制流程
簡述 View 繪制流程
onMeasure, onlayout, ondraw方法中需要注意的點
如何進行自定義 View
view 重繪機制
-
Android LayoutInflater原理分析,帶你一步步深入了解View(一)
-
Android視圖狀態及重繪流程分析,帶你一步步深入了解View(二)
-
Android視圖狀態及重繪流程分析,帶你一步步深入了解View(三)
-
Android自定義View的實作方法,帶你一步步深入了解View(四)

Android Window、Activity、DecorView以及ViewRoot
Window、Activity、DecorView以及ViewRoot之間的關系

Android 的核心 Binder 多行程 AIDL
常見的 IPC 機制以及使用場景
為什么安卓要用 binder 進行跨行程傳輸
多行程帶來的問題
-
AIDL 使用淺析
-
binder 原理決議
-
binder 最底層決議
-
多行程通信方式以及帶來的問題
-
多行程通信方式對比

Android 高級必備 :AMS,WMS,PMS
AMS,WMS,PMS 創建程序
-
AMS,WMS,PMS全決議
-
AMS啟動流程
-
WindowManagerService啟動程序決議
-
PMS 啟動流程決議

Android ANR
為什么會發生 ANR?
如何定位 ANR?
如何避免 ANR?
什么是 ANR
如何避免以及分析方法
Android 性能優化之 ANR 詳解

Android 記憶體相關
注意:記憶體泄漏和記憶體溢位是 2 個概念
什么情況下會記憶體泄漏?
如何防止記憶體泄漏?
-
記憶體泄漏和溢位的區別
-
OOM 概念以及安卓記憶體管理機制
-
記憶體泄漏的可能性
-
防止記憶體泄漏的方法

Android 螢屏適配
螢屏適配相關名詞決議
現在流行的螢屏適配方式
-
螢屏適配名詞以及概念決議
-
今日頭條技術適配方案

Android 快取機制
LruCache使用極其原理
-
Android快取機制
-
LruCache使用極其原理述

Android 性能優化
如何進行 記憶體 cpu 耗電 的定位以及優化
性能優化經常使用的方法
如何避免 UI 卡頓
-
性能優化全決議,工具使用
-
性能優化最佳實踐
-
知乎高贊文章

Android MVC、MVP、MVVM
好幾種我該選擇哪個?優劣點
任玉剛的文章:設計模式選擇

Android Gradle 知識
這倆篇官方文章基礎的夠用了
必須貼一下官方檔案:配置構建
Gradle 提示與訣竅
Gradle插件 了解就好
Gradle 自定義插件方式
全面理解Gradle - 執行時序
-
Gradle系列一
-
Gradle系列二
-
Gradle系列三

RxJava
使用程序,特點,原理決議
RxJava 名詞以及如何使用
Rxjava 觀察者模式原理決議
Rxjava訂閱流程,執行緒切換,原始碼分析 系列

OKHTTP 和 Retrofit
OKHTTP完整決議
Retrofit使用流程,機制詳解
從 HTTP 到 Retrofit
Retrofit是如何作業的

最流行圖片加載庫: Glide
郭神系列 Glide 分析
Android圖片加載框架最全決議(一),Glide的基本用法
Android圖片加載框架最全決議(二),從原始碼的角度理解Glide的執行流程
Android圖片加載框架最全決議(三),深入探究Glide的快取機制
Android圖片加載框架最全決議(四),玩轉Glide的回呼與監聽
Android圖片加載框架最全決議(五),Glide強大的圖片變換功能
Android圖片加載框架最全決議(六),探究Glide的自定義模塊功能
Android圖片加載框架最全決議(七),實作帶進度的Glide圖片加載功能
Android圖片加載框架最全決議(八),帶你全面了解Glide 4的用法

Android 組件化與插件化
為什么要用組件化?
組件之間如何通信?
組件之間如何跳轉?
Android 插件化和熱修復知識梳理
為什么要用組件化
- Android徹底組件化方案實踐
- Android徹底組件化demo發布
- Android徹底組件化-代碼和資源隔離
- Android徹底組件化—UI跳轉升級改造
- Android徹底組件化—如何使用Arouter
插件化框架歷史
深入理解Android插件化技術
Android 插件化和熱修復知識梳理

由于篇幅限制,檔案的詳解資料太全面,細節內容太多,所以只把部分知識點截圖出來粗略的介紹,每個小節點里面都有更細化的內容!
詳細檔案可以點我下載,記得點贊哦~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/223407.html
標籤:其他
