Android系统级别知识总结

简述IPC? Inter-Process-Communication 

进程间通信的方式?

进程资源分配的最小单位,进程间假数据交互

管道,消息队列,信号量,共享内存, 套接字(SOCKET)。

Android  Inter-Process-Communication 上的跨进程通信时如何工作的?

Android IPC底层机制使用的是binder

Binder机制及底层实现

https://blog.csdn.net/boyupeng/article/details/47011383

https://blog.csdn.net/freekiteyu/article/details/70082302

http://blog.csdn.net/huaxun66/article/details/52966087 

http://blog.csdn.net/u011240877/article/details/72825706

什么是AIDL,AIDL解决了什么问题??

Android Interface Definition Language

实现进程间通信,尤其在涉及多进程并发的情况下进程间通信

AIDL如何使用?

AIDL简单使用



looper架构

http://www.cnblogs.com/younghao/p/5116819.html

Handler机制和底层实现

Handler内存泄漏

Handler、Thread和HandlerThread的差别

请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系

handler发消息给子线程,looper怎么启动?

调用Looper.prepare()然后调用Looper.loop(),退出页面记得调用Looper.quit()

关于Handler,在任何地方new Handler 都是什么线程下?

Handler在主线程可以直接new,因为主线程有自己的Looper

在子线程中new Handler()需要在Looper.prepare()之后,之后要调用Looper.loop(),才可以在子线程中接收消息


jni用过吗? java native interface

Android系统级别知识总结_第1张图片

jna(Java Native Access)调用本地方法的框架

Android系统级别知识总结_第2张图片

如何在jni中注册native函数,有几种注册方式?

Java如何调用c、c++语言?

jni如何调用java层代码?

请介绍一下NDK

什么是NDK库?

快速开发C、C++动态库,并自动将so和应用打包成apk,可通过ndk在android中使用JNI与本地代码交互


各个源码启动流程

画出 Android 的大体架构图

Android进程分类?

空进程-后台进程-服务进程-可见进程-前台进程

进程和 Application 的生命周期

Android项目构建过程

异步消息机制

系统启动流程

系统启动流程是什么?(提示:Zygote进程 –> SystemServer进程 –> 各种系统服务 –> 应用进程)

进程创建流程

大体说清一个应用程序安装到手机上时发生了什么

App启动流程,从点击桌面开始

其实就是Activity启动流程

Android为每个应用程序分配的内存大小是多少?

ActivityThread,AMS,WMS,PMS的工作原理

https://blog.csdn.net/shareus/article/details/51174623

ThreadLocal原理,实现及如何保证Local属性?

动态权限适配方案,权限组的概念

App 是如何沙箱化,为什么要这么做?

权限管理系统(底层的权限是如何进行 grant 的)?

https://blog.csdn.net/andyhuabing/article/details/7464680

多进程场景遇见过么?

进程调度

谈谈对进程共享和线程安全的认识

Android 进程共享使用Binder  线程安全可使用Handler,同步锁,和locked

什么是协程?

协程不知所云

逻辑地址与物理地址,为什么使用逻辑地址?

Android中进程内存的分配,能不能自己分配定额内存?

进程保活的方式

App中唤醒其他进程的实现方式

你可能感兴趣的:(Android)