我们为什么需要学习掌握Framework?
解决问题:开发遇到Bug,报读不到,而你不懂框架里面的黑盒机制?
学习设计:项目代码想到哪写到哪,每次迭代就是一场轮回?你不想知道Android这么庞大的源码体系是怎么设计的吗?
知识实践:学完就忘,不会使用,面试解析+源码结合,通过Framework学习知识点的使用。
面试需要:Framework不熟练,又是回家等通知?
在Android面试中,关于 Framework 的问题是必备的,但是这些关于字节跳动 Framework 的高频面试题你都掌握了吗?
接下来分享一份字节跳动的Android Framework 高频面试题总结:
一、AMS 、PMS
- AMS 概述
AMS 是系统的引导服务,应用进程的启动、切换和调度、四大组件的启动和管 理都需要 AMS 的支持。从这里可以看出 AMS 的功能会十分的繁多,当然它并不 是一个类承担这个重责,它有一些关联类,这在文章后面会讲到。
- AMS 的启动流程
- AMS 与进程启动
- AMS 家族
- PMS 之 SyetemServer 处理部分
- PMS 构造方法
开始阶段、扫描系统阶段、扫描 Data 分区阶段、扫描结束阶段、准备阶段、
二、Activity 启动流程,App 启动流程
Activity 的启动模式
1.standard:默认标准模式,每启动一个都会创建一个实例,
2.singleTop:栈顶复用,如果在栈顶就调用 onNewIntent 复用,从 onResume()开始
3.singleTask:栈内复用,本栈内只要用该类型 Activity 就会将其顶部的 activity 出栈
4.singleIn