Android面试题整理三

Posted fakerXuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android面试题整理三相关的知识,希望对你有一定的参考价值。

应用进程是怎么启动的?

在这里插入图片描述

应用是怎么启用Binder()机制的?

  • 什么时候支持Binder机制的?
    进程启动后在ProcessState里做的
    在这里插入图片描述

谈谈你对Application的理解

  • Application有什么作用?
    • 保存应用进程内的全局变量
    • 初始化操作
    • 提供应用上下文
      Application:活得长,生的早;跟者进程走而不是跟着应用走。应用开几个进程 就有几个Application。
  • Application的继承关系?
    在这里插入图片描述
  • Application的生命周期
    启动 : * 构造函数 、 attachBaseContext 、 onCreate
    在这里插入图片描述

谈谈你对Context的理解

  • Context的作用?
  • 有哪些组件有Context?
    Application Activity Service
    在这里插入图片描述

在这里插入图片描述

说说Activity的启动流程?

在这里插入图片描述

说说Activity的显示原理?

在这里插入图片描述

在这里插入图片描述

应用的UI线程是怎么启动的?

  • 什么是UI线程?
    UI线程就是刷新UI所在的线程,UI是单线程刷新的
    在这里插入图片描述

说说Service的启动原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说说Service的绑定原理

在这里插入图片描述

说说动态广播的注册和收发原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说说静态广播的注册和收发原理

在这里插入图片描述
在这里插入图片描述

说说Provider的启动原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说说android的UI刷新机制

在这里插入图片描述
在这里插入图片描述

你对vsync信号机制有了解么?

在这里插入图片描述
在这里插入图片描述

Android Framework里用到了哪些IPC方式?

  • Linux中的IPC方式
    管道 Socket 共享内存 信号

谈谈你对Binder的理解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

一次完整的Binder通信流程是怎样的?

  1. Binder驱动在内核空间创建一个数据接收缓冲区。
  2. 在内核空间开辟一块内核缓存区,建立内核缓存区和数据接收缓冲区之间的映射关系,以及数据接收缓冲区和接收进程用户空间地址的映射关系。
  3. 发送方进程通过copy_from_user()函数将数据复制到内核中的内核缓冲区,由于内核缓冲区和接收进程的用户空间存在内存映射,因此也就相当于把数据发送到了接收进程的用户空间,这样便完成了一次进程间通信。
    整个过程只使用了一次复制,不会因为不知道数据的大小而浪费空间或者时间,这样效率更高。
    在这里插入图片描述

说一说Binder的oneway机制

没看懂 看懂了再补吧

线程的消息队列是怎么创建的?

在这里插入图片描述

说说Android线程间消息传递机制?

说说Threadlocal的原理

在这里插入图片描述

以上是关于Android面试题整理三的主要内容,如果未能解决你的问题,请参考以下文章

Android面试题及答案整理(2022年最新Android面试题大全带答案)

秋招面试现状,附个人整理Android大厂秋招面试题合集

秋招面试现状,附个人整理Android大厂秋招面试题合集

Android面试题整理

Android面试题整理

最新Android面试题整理,Android岗