本文主要是介绍Android工程师必备知识!高级Android开发面试解答,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
**接下来我们针对字节跳动Android中高级面试展开的完整面试题**
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926011352247.jpg)
## Handler 相关知识,面试必问!
常问的点:
Handler Looper Message 关系是什么?
Messagequeue 的数据结构是什么?为什么要用这个数据结构?
如何在子线程中创建 Handler?
Handler post 方法原理?
Android消息机制的原理及源码解析
Android Handler 消息机制
![Handler](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926011906038.jpg)
## Activity 相关
启动模式以及使用场景?
onNewIntent()和onConfigurationChanged()
onSaveInstanceState()和onRestoreInstanceState()
Activity 到底是如何启动的
启动模式以及使用场景
onSaveInstanceState以及onRestoreInstanceState使用
onConfigurationChanged使用以及问题解决
Activity 启动流程解析
![Activity相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926012198829.jpg)
## Fragment
Fragment 生命周期和 Activity 对比
Fragment 之间如何进行通信
Fragment的startActivityForResult
Fragment重叠问题
Fragment 初探
Fragment 重叠, 如何通信
Fragment生命周期
![Fragment相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926012156521.jpg)
## Service 相关
进程保活
Service的运行线程(生命周期方法全部在主线程)
Service启动方式以及如何停止
ServiceConnection里面的回调方法运行在哪个线程?
startService 和 bingService区别
进程保活一般套路
关于进程保活你需要知道的一切
![Service 相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926012889337.jpg)
## Android布局优化之ViewStub、include、merge
什么情况下使用 ViewStub、include、merge?
他们的原理是什么?
ViewStub、include、merge概念解析
Android布局优化之ViewStub、include、merge使用与源码分析
![Android布局优化](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926013192755.jpg)
## BroadcastReceiver 相关
注册方式,优先级
广播类型,区别
广播的使用场景,原理
Android广播动态静态注册
常见使用以及流程解析
广播源码解析
![ BroadcastReceiver相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926013932764.jpg)
## AsyncTask相关
AsyncTask是串行还是并行执行?
AsyncTask随着安卓版本的变迁
AsyncTask完全解析
串行还是并行
![AsyncTask相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926014644136.jpg)
## Android 事件分发机制
onTouch和onTouchEvent区别,调用顺序
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景
滑动冲突,如何解决
事件分发机制
事件分发解析
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent方法的使用场景解析
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926014931424.jpg)
## Android View 绘制流程
简述 View 绘制流程
onMeasure, onlayout, ondraw方法中需要注意的点
如何进行自定义 View
view 重绘机制
* Android LayoutInflater原理分析,带你一步步深入了解View(一)
* Android视图状态及重绘流程分析,带你一步步深入了解View(二)
* Android视图状态及重绘流程分析,带你一步步深入了解View(三)
* Android自定义View的实现方法,带你一步步深入了解View(四)
![Android View 绘制流程](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926014953370.jpg)
## Android Window、Activity、DecorView以及ViewRoot
Window、Activity、DecorView以及ViewRoot之间的关系
![Android Window](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926015705299.jpg)
## Android 的核心 Binder 多进程 AIDL
常见的 IPC 机制以及使用场景
为什么安卓要用 binder 进行跨进程传输
多进程带来的问题
* AIDL 使用浅析
* binder 原理解析
* binder 最底层解析
* 多进程通信方式以及带来的问题
* 多进程通信方式对比
![Binder 相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926015764333.jpg)
## Android 高级必备 :AMS,WMS,PMS
AMS,WMS,PMS 创建过程
* AMS,WMS,PMS全解析
* AMS启动流程
* WindowManagerService启动过程解析
* PMS 启动流程解析
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926016433638.jpg)
## Android ANR
为什么会发生 ANR?
如何定位 ANR?
如何避免 ANR?
什么是 ANR
如何避免以及分析方法
Android 性能优化之 ANR 详解
![Android ANR](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926016417160.jpg)
## Android 内存相关
**注意:内存泄漏和内存溢出是 2 个概念**
什么情况下会内存泄漏?
如何防止内存泄漏?
* 内存泄漏和溢出的区别
* OOM 概念以及安卓内存管理机制
* 内存泄漏的可能性
* 防止内存泄漏的方法
![Android 内存相关](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926017717743.jpg)
## Android 屏幕适配
屏幕适配相关名词解析
现在流行的屏幕适配方式
* 屏幕适配名词以及概念解析
* 今日头条技术适配方案
![Android 屏幕适配](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926017865242.jpg)
## Android 缓存机制
LruCache使用极其原理
* Android缓存机制
* LruCache使用极其原理述
![Android 缓存机制](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926017462183.jpg)
## Android 性能优化
如何进行 内存 cpu 耗电 的定位以及优化
性能优化经常使用的方法
如何避免 UI 卡顿
* 性能优化全解析,工具使用
* 性能优化最佳实践
* 知乎高赞文章
![ Android 性能优化](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926018744748.jpg)
## Android MVC、MVP、MVVM
好几种我该选择哪个?优劣点
任玉刚的文章:设计模式选择
![Android MVC、MVP、MVVM](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926018148379.jpg)
## 最后
**在此为大家准备了四节优质的Android高级进阶视频:**
**架构师项目实战——全球首批Android开发者对Android架构的见解**
[**链接:GitHub 免费获取!**](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)
### 附相关架构及资料
![image.png](http://www.www.zyiz.net/i/li/?n=2&i=images/20210710/1625926018230964.jpg)
> **领取获取往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。**
这篇关于Android工程师必备知识!高级Android开发面试解答的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!