最近自己再找安卓系统方面的工作,所以安卓系统整体的知识点进行了整理,内容点涉及的比较多。可以选择自己不熟的层来看跟学习,如果小伙伴还有补充或者自己遇到的题,欢迎留言。

系统应用层:

四大组件:

          一. Activity

二. Service

三. ContentProvider

四. BroadCast Receiver

安卓Context:谈谈关于context的理解?

1.定义是什么?。2.能做什么?。3.继承关系,4.实现类时什么?5.问题(OOM)?

Context都没弄明白,还怎么做Android开发? - 简书

Intent:谈谈对intent的理解?

1.intent定义?。2.intent的常用属性?。3.常见应用。

Android组件系列----Intent详解 - 千古壹号 - 博客园

Handler机制:

1.画框架图。2.用在哪里?。3.分析各个类的作用。4.注意项(阻塞,target和when)。

安卓Handler机制:深入理解Looper,Handler,Message,Messge Queue内部原理_不忘初心-CSDN博客

AsyncTask和Handler+Thread机制的区别?

Android中的异步:Handler+Thread 跟AsyncTask 两种方式的区别_Crystal_xing的专栏-CSDN博客

事件传递机制:

1. 主要是三个函数。2.传递流程是什么?

Android事件分发机制面试题 - 青年程序猿 - 博客园

https://blog.csdn.net/kai_zone/article/details/80141949

Android 多线程-----AsyncTask详解:

1.作用是什么?。2.内部原理是什么(Handler+Thread)?3.怎么使用(三个泛型,四个步骤)

Android 多线程-----AsyncTask详解_不忘初心-CSDN博客

单例模式 :手写单例模式。

Java单例模式——并非看起来那么简单_viclee-CSDN博客_java单例模式是什么意思

安卓任务栈Task:

Activity的任务栈Task以及启动模式与Intent的Flag详解 - 简书

ANR产生的原因及定位分析:

掘金

Android 耗时代码(ANR)的查找检测和分析解决 TraceView的使用手册_alcoholdi的专栏-CSDN博客

内存泄漏及解决办法 :

1.定义是什么?2.常见发生情况有哪些?3.怎么避免?

Android开发中常见的内存泄漏情况和解决办法_da_caoyuan的博客-CSDN博客

Dalvik虚拟机相关问题:

1.什么是虚拟机?2.跟java虚拟机的区别?3.art虚拟机的优缺点?

JAVA虚拟机、Dalvik虚拟机和ART虚拟机简要对照 - lxjshuju - 博客园

反射:

1.class对象时什么?2.class三种获取方式。3.反射的使用步骤。

Android反射机制:手把手教你实现反射_不忘初心-CSDN博客_android 反射

JNI/NDK:

1.JNI定义?。2.安卓所用到的场景?3. 使用方法及流程?

Android JNI:深入分析安卓JNI原理_不忘初心-CSDN博客_android jni原理

JNI分别有几种注册方式?有什么不同?

两种注册方式:JNI代码两种注册编写方式_张小强的专栏-CSDN博客_jni注册方式

java虚拟机在运行包含本地方法的java应用程序时,要经过两个步骤:

1. 调用System.loadLibrary()方法,将包含本地方法具体实现的C/C++运行库加载到内存中,

2. Java虚拟机检索加载进来的库函数符号,在其中查找与java本地方法拥有相同签名的JNI本地函数符号。如找到一致的,则将java本地方法映射到具体的JNI本地方法

Java虚拟机在将本地方法与C运行库中的JNI本地函数映射到一起的时候,不会耗费很长时间,但Android framework这类复杂的系统下,拥有大量的包含本地方法的java类,

java虚拟机加载相应的运行库,再逐一检索,将各个本地方法与相应的函数映射起来,这显然会增加运行时间,降低运行效率。

为了解决这一问题,JNI机制提供了名称为RegisterNatives()的JNI函数,该函数允许C/C++开发者将JNI本地函数与Java类的本地方法直接映射起来。

当不调用RegisterNatives函数时,Java虚拟机会自动检索并将JNI本地函数与相应的Java本地方法链接在一起。

但当开发者直接调用RegisterNatives()函数进行映射时,Java虚拟机就不必进行映射处理了,这会极大的提高运行效率。

由于程序员直接将JNI本地函数与Java本地方法链接在一起,在加载运行库时,Java虚拟机不必为了识别JNI本地函数的名称与JNI支持的命名规则进行对比,即任何名称的函数都能直接链接到java本地方法。

************************************************************

安卓系统层:

Android系统架构与系统源码目录(Windous安卓源码下载):

Android系统架构与系统源码目录_BATcoder - 刘望舒-CSDN博客

不一样的Android体系架构_不忘初心-CSDN博客

安卓整个系统启动流程:

Android启动流程:上电到启动第一个APP的详细流程,_不忘初心-CSDN博客_android 启动

init启动流程:

安卓init:Android7.0系统Init原理(一)_不忘初心-CSDN博客

Zygote启动流程:

安卓Zygote:深入理解Zygote(android6.0)_不忘初心-CSDN博客_androidzygote

ServiceManager启动流程:

安卓ServiceManager启动:彻底理解ServiceManager启动流程,这一篇就够了_不忘初心-CSDN博客

SystemServer启动流程:

Android源码解析之(九)-->SystemServer进程启动流程_一片枫叶的专栏-CSDN博客

Android系统启动-SystemServer上篇_不忘初心-CSDN博客

ActivitiManagerService启动流程:

ActivityManagerService启动流程_不忘初心-CSDN博客

ActivitiManagerService框架:

https://www.jianshu.com/p/194a37755fea

如何添加硬件服务:

安卓硬件服务实例:手把手教你如何从驱动到应用添加硬件服务_不忘初心-CSDN博客

Binder系统原理:

写给 Android 应用工程师的 Binder 原理剖析 - BaronZhang - 博客园 (图显示有问题) (链接 2)

Android Binder通信一次拷贝你真的理解了吗?_IT先森-CSDN博客

这所谓的“一次拷贝”到底是发生在什么地方?

答:这所谓的“一次拷贝”发生在请求端进程向Binder接收端进程发送数据的请求端的内核层空间中。

startActivity流程:

安卓startActivity:彻底理解startActivity的启动过程这一篇就够了_不忘初心-CSDN博客_android startactivity

startService流程:

安卓startService:让你彻底理解startService过程_不忘初心-CSDN博客_startservice

安卓进程创建流程:

https://www.jianshu.com/p/b6ac0c2fa240

深入理解安卓进程创建流程_不忘初心-CSDN博客

本地服务框架个java服务框架:

《安卓框架揭秘》

安卓Android.mk语法解析?

Android.mk 文件语法详解 - 阿波伦 - 博客园

安卓几种通信的方式?大数据用什么方法?

1. AIDL 2. 广播 3. 共享文件 4. Socket 5. 内容提供者 6.handler

Android应用层使用共享内存机制进行进程间交换数据_haohaoxuexi2014的博客-CSDN博客_android 进程间共享内存

android 两个应用之间的通信与调用_Shawn_Dut的专栏-CSDN博客_android两个应用之间的通信

Android5.0 到9.0系统版本的改变:

Android从5.0到9.0版本的主要变更 - 简书

*************************************************************

语言篇:

java篇:

Android(2017-2018)BAT面试题整理(java篇,含答案)

C++面试题:

C++经典面试题(最全,面中率最高) - fcyh - 博客园

C++面试集锦( 面试被问到的问题 ) - Y1 - 博客园

其他重要知识点:

C++重点知识总结_不忘初心-CSDN博客

**************************************************************

Android APP篇:

Android(2017-2018)BAT面试题整理(Android篇,含答案)

Android知识体系总结2020(全方面覆盖Android知识结构,面试&进阶)_编程语言是方式,而思维是创造。-CSDN博客_android知识体系

**************************************************************

驱动篇:

linux驱动最新面试题(面试题整理,含答案)_不忘初心-CSDN博客_linux驱动面试题

*******************************************************************

研发岗位需求:base 杭州、武汉、上海。双击查看

安卓系统最新面试题(面试题整理,含答案)相关推荐

  1. 【2022最新Java面试宝典】—— Java虚拟机(JVM)面试题(51道含答案)

    目录 一.Java内存模型 1. 我们开发人员编写的Java代码是怎么让电脑认识的 2. 为什么说java是跨平台语言 3. Jdk和Jre和JVM的区别 4. 说一下 JVM由那些部分组成,运行流程 ...

  2. 【2022最新Java面试宝典】—— Java并发编程面试题(123道含答案)

    目录 一.基础知识 1. 为什么要使用并发编程 2. 多线程应用场景 3. 并发编程有什么缺点 4. 并发编程三个必要因素是什么? 5. Java 程序中怎么保证多线程的运行安全? 6. 并行和并发有 ...

  3. 【2022最新Java面试宝典】—— SpringCloud面试题(49道含答案)

    目录 Spring Cloud 1. 什么是微服务架构 2. 为什么需要学习Spring Cloud 3. Spring Cloud 是什么 4. SpringCloud的优缺点 5. SpringB ...

  4. 【2022最新Java面试宝典】—— Redis面试题(70道含答案)

    目录 一.概述 1. 什么是Redis? 2. Redis有哪些优缺点? 3. 使用redis有哪些好处? 4. 为什么要用 Redis / 为什么要用缓存 5. 为什么要用 Redis 而不用 ma ...

  5. 【2022最新Java面试宝典】—— MySQL面试题(40道含答案)

    目录 1.MySQL 中有哪几种锁? 2.MySQL 中有哪些不同的表格? 3.简述在MySQL 数据库中 MyISAM 和InnoDB 的区别 4.MySQL 中InnoDB 支持的四种事务隔离级别 ...

  6. 【2022最新Java面试宝典】—— MyBatis面试题(37道含答案)

    目录 一.MyBatis简介 1. MyBatis是什么? 2. Mybatis优缺点 3. Hibernate 和 MyBatis 的区别 4. 为什么说Mybatis是半自动ORM映射工具?它与全 ...

  7. 【2022最新Java面试宝典】—— Spring面试题(75道含答案)

    目录 1. Spring概述 1.1 什么是spring? 1.2 Spring的俩大核心概念 1.3 Spring框架的设计目标,设计理念,和核心是什么 1.4 Spring的优缺点是什么? 1.5 ...

  8. 【2022最新Java面试宝典】—— Tomcat面试题(15道含答案)

    目录 1. Tomcat的缺省端口是多少,怎么修改? 2. tomcat 有哪几种Connector 运行模式(优化)? 3. Tomcat有几种部署方式? 4. tomcat容器是如何创建servl ...

  9. 【2022最新Java面试宝典】—— Java异常面试题(33道含答案)

    目录 一.Java异常架构与异常关键字 1. Java异常简介 2. Java异常架构 1.Throwable 2. Error(错误) 3. Exception(异常) 运行时异常 编译时异常 3. ...

最新文章

  1. canvas绘制的文字如何换行
  2. 只此一招,全屏操作从此易如反掌
  3. 要成为一个成熟的软件工程师不容易啊
  4. linux硬件设备操作函数 open
  5. Redis快照(Snapshot)特点
  6. arraylist从大到小排序_经典排序方法的python实现和复杂度分析
  7. 如何设置MySQL的环境变量
  8. linux定时执行python脚本_ubuntu定时执行python脚本实例代码
  9. 白盒测试及其存在的一些问题
  10. sql server 事务的回滚 断电
  11. 【java笔记】函数式接口
  12. html编写隶书字体,隶书字体大全
  13. android qq纯净输入法,QQ输入法纯净版更新 同步手机词库
  14. Exception processing template “admin/table“: Could not parse as expression: “(thymeleaf与layui冲突)
  15. DSP6678入门必看
  16. Murex 快速风险分析引擎
  17. 进化的系统需要进化的系统工程
  18. 教你做一个微信添加好友收付款的个性二维码
  19. 找工作再也不愁之面试题全覆盖-微服务篇
  20. jquery-9 京东和酒仙网左侧导航如何实现

热门文章

  1. 数据仓库模型设计开发流程与规范
  2. openssl qt 生成秘钥_OpenSSL证书生成(Windows环境)
  3. 把图片转换成ico格式
  4. 微信退款简单实现(复制代码就能在本地运行实现)
  5. 知识竞赛题库物理化学计算机,物理化学题库(含答案).doc
  6. 西门子S7-200编程软件,触摸屏,电气原理图。 污水处理系统
  7. JSP(六)动作标签
  8. matlab如何生成任意范围,任意行列数的随机矩阵
  9. 全面掌握移动端主流图片格式的特点、性能、调优等
  10. SVM 超平面的理解