Android 系统源码分析
文章平均质量分 92
HongChengDarren
忘记不了铭记,坚持不了放弃,但只要活着...
展开
-
Android 源码分析实战 - 授权时拦截 QQ 用户名和密码
1. 说在前面本文内容其实是不适合发出来的,希望大家切勿用作商业用途,也切勿将功能发布到线上环境。技术一定是为生活服务的,是为了大家共同的美好生活。判断一件事是否值得做,一定是利人利己,错误的事可能舒服自己而痛苦了别人,损人利己的事千万不可为。2. 需求背景在测试功能时,我们可能会遇到一些偶现崩溃的情况,往往难以复现。在修改代码时,有时往往改了这个 Bug ,在某个其他地方又引发了另一个 Bug,或者又是不经意间修改了 UI 样式界面。当然以上问题,我们可以看日志跟踪,也可以多写单元测试。基于等等场景原创 2020-06-16 19:18:13 · 793 阅读 · 0 评论 -
Android 源码分析实战 - 把代码写得更优雅
1. 源码版本适配一般情况下来说,如果涉及到源码反射,通常都需要适配各个版本,因此我们把与 so 修复相关的各大版本源码都翻出来,具体的源码细节,大家可以参考《Android 源码分析实战 - 动态加载修复 so 库》 public void injectLoadPath(String soDir) throws Exception { ... int v...原创 2020-04-25 10:53:23 · 532 阅读 · 2 评论 -
Android 源码分析实战 - 动态加载修复 so 库
1. 需求背景俗话说养兵千日用兵一时,学习源码分析到底有什么用呢?我们遇到的所有问题,都能通过分析源码解决;看似无法实现的功能,都能通过源码分析找到思路…。这些都是之前无数次给大家洗脑的概念,我们来看一下实际的开发需求,我带大家来动手实战几次。之前还在有信时,我们做的是一个音频直播的项目,后面由于这一块业务一直上不去,老板要我们在里面做一个 3D 的玩法,也就是采用 Unity + Androi...原创 2020-04-25 10:52:42 · 588 阅读 · 3 评论 -
Android 底层渲染 - 屏幕刷新机制源码分析
相关文章链接:1. Android Framework - 学习启动篇2. 源码阅读分析 - Window底层原理与系统架构相关源码文件:/frameworks/base/core/java/android/view/ViewRootImpl.java/frameworks/base/core/java/android/view/Choreographer.java/framework...原创 2020-04-25 10:51:50 · 655 阅读 · 0 评论 -
Android 系统服务 - Input 事件的分发过程
相关文章链接:1. Android Framework - 学习启动篇2. Android FrameWork - 开机启动 SystemServer 进程相关源码文件:/frameworks/base/services/java/com/android/server/SystemServer.java/frameworks/base/services/core/java/com/and...原创 2020-04-25 10:50:01 · 573 阅读 · 0 评论 -
Android 四大组件 - bindService 的通信过程
相关文章链接:1. Android Framework - 学习启动篇2. Android Binder 驱动 - Media 服务的添加过程3. Android Binder 驱动 - 启动 ServiceManager 进程4. Android Binder 驱动 - 内核驱动层源码分析5. Android Binder 驱动 - 从驱动层来分析服务的添加过程6. Android ...原创 2019-12-01 15:46:17 · 986 阅读 · 0 评论 -
Android 四大组件 - 进程的 fork 创建过程
相关文章链接:1. Android Framework - 学习启动篇2. Android 系统服务 - AMS 的启动过程3. Android 系统服务 - PMS 的启动过程4. Android Framework - 开机启动 Zygote 进程相关源码文件:/frameworks/base/services/core/java/android/os/Process.java/...原创 2019-11-19 12:17:03 · 995 阅读 · 0 评论 -
Android 系统应用 - Launcher 的启动过程
相关文章链接:1. Android Framework - 学习启动篇2. Android 系统服务 - AMS 的启动过程3. Android 系统服务 - PMS 的启动过程相关源码文件:/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java/apps/Launche...原创 2019-11-18 15:39:15 · 1126 阅读 · 0 评论 -
Android 面试经验 - 大厂 腾讯 面
写在前面那天刚好是下午 oppo hr 面完,大约 3 点左右腾讯来电,我在电梯里没太注意没接到电话,下午就一直盼呀盼,大约九点刚下班到公司楼下来电了,问方不方便我当然说方便,就在马路边上面了大约 50 来分钟,我感觉应该是挂了的,因为过程中电话老是断加上环境又比较吵,第二天问猎头说,下班前查了一下同一批面试的都释放了,你应该是过了只说是应该过了。过了整整一周到了隔周五上午,接到了第二面的面试通...原创 2019-10-29 17:02:28 · 1853 阅读 · 0 评论 -
Android 系统服务 - AMS 的启动过程
相关文章链接:1. Android Framework - 学习启动篇2. Android Framework - 开机启动 SystemServer 进程相关源码文件:/frameworks/base/services/java/com/android/server/SystemServer.java/frameworks/base/services/core/java/com/and...原创 2019-10-29 17:00:55 · 1562 阅读 · 0 评论 -
Android 系统服务 - PMS 的启动过程
相关文章链接:1. Android Framework - 学习启动篇2. Android Framework - 开机启动 SystemServer 进程相关源码文件:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.javaframeworks/base/services/co...原创 2019-10-28 18:49:12 · 1185 阅读 · 0 评论 -
Android Framework - 学习启动篇
首先明确一下前提条件:有 C/C++ 基础,能够阅读 C/C++ 的代码;有 Linux 系统内核基础;有 Android 开发相关的工作经验(1-3年);有 UML 建模基础。如果大家是从事 Android 系统开发的,那么阅读系统源码是必修课程。如果想成为高级 App 开发工程师,那么阅读系统源码也是必修课程,只是这必修课程里面有选修内容,后面我想讲的就是必修课程里面的选修内容。...原创 2020-02-15 20:40:12 · 12539 阅读 · 1 评论 -
Android Framework - 开机启动 Zygote 进程
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程相关源码文件:/system/core/rootdir/init.rc/frameworks/base/cmds/app_process/App_main.cpp/frameworks/base/core/jni/AndroidRuntime.cp...原创 2019-08-10 18:03:57 · 2645 阅读 · 0 评论 -
Android Framework - 开机启动 SystemServer 进程
相关文章链接:1. Android FrameWork - 学习启动篇3. Android FrameWork - 开机启动 Zygote 进程相关源码文件:/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java/frameworks/base/core/java/com/android/internal/os...原创 2019-08-16 22:22:28 · 2442 阅读 · 0 评论 -
Android Binder 驱动 - Media 服务的添加过程
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android 开发者需要知道的 Linux 知识4. 从 Linux 内核的角度来看 Binder 驱动5. JNI 基础 - Android 共享内存的序列化过程6. Android进程间通信(IPC)机制Binder简要介绍和学习计划...原创 2019-08-29 20:07:04 · 1990 阅读 · 0 评论 -
Android Binder 驱动 - 启动 ServiceManager 进程
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android Binder 驱动 - Media 服务的添加过程相关源码文件:/system/core/rootdir/init.rc/frameworks/native/cmds/servicemanager/service_manage...原创 2019-08-31 11:59:57 · 1971 阅读 · 0 评论 -
Android Binder 驱动 - 内核驱动层源码分析
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android 开发者需要知道的 Linux 知识4. 从 Linux 内核的角度来看 Binder 驱动5. JNI 基础 - Android 共享内存的序列化过程6. Android进程间通信(IPC)机制Binder简要介绍和学习计划...原创 2019-09-06 11:46:30 · 3121 阅读 · 1 评论 -
Android Binder 驱动 - 从驱动层来分析服务的添加过程
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android 开发者需要知道的 Linux 知识4. 从 Linux 内核的角度来看 Binder 驱动5. JNI 基础 - Android 共享内存的序列化过程6. Android进程间通信(IPC)机制Binder简要介绍和学习计划...原创 2019-09-08 16:46:09 · 1245 阅读 · 0 评论 -
Android Binder 驱动 - 从 Java 层来跟踪服务的查找过程
相关文章链接:1. Android Framework - 学习启动篇2. Android Binder 驱动 - Media 服务的添加过程3. Android Binder 驱动 - 启动 ServiceManager 进程4. Android Binder 驱动 - 内核驱动层源码分析5. Android Binder 驱动 - 从驱动层来分析服务的添加过程相关源码文件:// ...原创 2019-09-20 10:05:55 · 1209 阅读 · 0 评论 -
Android Handler 通信 - 彻底了解 Handler 的通信过程
相关文章链接:1. Android Handler 通信 - 源码分析与手写 Handler 框架2. Android Handler 通信 - 彻底了解 Native 层的通信过程相关源码文件:/frameworks/base/core/java/android/os/Handler.java/frameworks/base/core/java/android/os/MessageQu...原创 2019-09-30 18:15:05 · 843 阅读 · 0 评论 -
Android Framework - 开机启动 Init 进程
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程相关源码文件:/system/core/init/Init.cpp/system/core/rootdir/init.rc/system/core/init/init_parser.cpp/system/core/init/builtins.cp...原创 2019-08-04 18:30:30 · 6313 阅读 · 3 评论