常问的Framework的几个问题,看看你都答得上来吗?

908 阅读2分钟

某一天你接到一个公司的面试邀请,去参加面试。

面试官问你:

  • handler的阻塞为什么不会导致app ANR
  • 子线程如何创建handler
  • handler如何发送延迟消息
  • 享元设计模式的价值是什么?
  • handler如何处理多线程访问并发问题?
  • Application 被fork 产生进程的流程分析;
  • Activity&Window&View分工绑定的原理;
  • View的绘制和渲染流程;
  • 怎样让子线程可以更新UI
  • Android系统的结构层次分析;
  • Init进程启动的守护进程价值;
  • Zygote 的存在价值;
  • 为什么android还是使用了Socket;
  • systemServer进程管理AMS的架构;
  • AMS管理App进程的方案
  • Android系统的结构层次分析;
  • Init进程启动的守护进程价值;
  • Zygote 的存在价值;
  • 为什么android还是使用了Socket;
  • systemServer进程管理AMS的架构;
  • AMS管理App进程的方案

如果以上你都答得上来,那么恭喜你,这篇文章以下的内容你可以不用看了。

相信大家对于Framework框架结构并不陌生,甚至基本原理也能说上两句,可每次一到面试就容易卡壳,不止所措,导致关键原理没有描述清楚,从而遗憾离场......

以下主要讲的就是Framework层中的系统启动流程,Binder,Handler,AMS,WMS等原理解析,如果你这方面有所缺陷,可以VX关注公众号~

Android老皮

《Android Framework 开发揭秘》

第一章 系统启动流程分析

  • 第一节 Android启动概览
  • 第二节 init.rc解析
  • 第三节 Zygote
  • 第四节 面试题

在这里插入图片描述

第二章 Binder解析

  • 第一节 宏观认识Binder
  • 第二节binder的jni方法注册
  • 第三节binder驱动
  • 第四节 数据结构
  • 第五节 启动service_manager
  • 第六节获取service_manager
  • 第七节 addService流程
  • 第八节 Binder面试题全解析

在这里插入图片描述

第三章 Handler解析

  • 第一节 源码分析
  • 第二节 难点问题
  • 第三节Handler常问面试题

在这里插入图片描述

第四章 AMS 解析

  • 第一节 引言
  • 第二节 Android架构
  • 第三节 通信方式
  • 第四节 系统启动系列
  • 第五节 AMS
  • 第六节 AMS 面试题解析

在这里插入图片描述

第五章 WMS解析

  • 第一节Activity与Window相关概念
  • 第二节 Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析
  • 第三节Android窗口管理服务WindowManagerService对窗口的组织方式分析
  • 第四节 Android窗口管理服务WindowManagerService对输入法窗口的管理分析 -第五节 Android窗口管理服务WindowManagerService对壁纸窗口的管理分析

在这里插入图片描述

第六章PKMS Android10.0 源码解读

  • 第一节 前言 PKMS 是什么东西?
  • 第二节 PKMS 概述信息
  • 第三节 PKMS角色位置
  • 第四节 PKMS 启动过程分析
  • 第五节 APK的扫描
  • 第七节 PMS之权限扫描
  • 第八节 PackageManagerService大综合笔记

在这里插入图片描述