首先明确一下前提条件:有 C/C++ 基础,能够阅读 C/C++ 的代码;有 Linux 系统内核基础;有 Android 开发相关的工作经验(1-3年);有 UML 建模基础。如
相关文章链接:1. Android Framework - 学习启动篇2. 源码阅读分析 - Window底层原理与系统架构相关源码文件:/frameworks/base/core/java/android/view/ViewRootImpl.java/frameworks/base/core/java/android/view/Choreographer.java/framework...
1. 需求背景俗话说养兵千日用兵一时,学习源码分析到底有什么用呢?我们遇到的所有问题,都能通过分析源码解决;看似无法实现的功能,都能通过源码分析找到思路…。这些都是之前无数次给大家洗脑的概念,我们来看一下实际的开发需求,我带大家来动手实战几次。之前还在有信时,我们做的是一个音频直播的项目,后面由于这一块业务一直上不去,老板要我们在里面做一个 3D 的玩法,也就是采用 Unity + Androi...
1. 源码版本适配一般情况下来说,如果涉及到源码反射,通常都需要适配各个版本,因此我们把与 so 修复相关的各大版本源码都翻出来,具体的源码细节,大家可以参考《Android 源码分析实战 - 动态加载修复 so 库》 public void injectLoadPath(String soDir) throws Exception { ... int v...
1. 说在前面本文内容其实是不适合发出来的,希望大家切勿用作商业用途,也切勿将功能发布到线上环境。技术一定是为生活服务的,是为了大家共同的美好生活。判断一件事是否值得做,一定是利人利己,错误的事可能舒服自己而痛苦了别人,损人利己的事千万不可为。2. 需求背景在测试功能时,我们可能会遇到一些偶现崩溃的情况,往往难以复现。在修改代码时,有时往往改了这个 Bug ,在某个其他地方又引发了另一个 Bug,或者又是不经意间修改了 UI 样式界面。当然以上问题,我们可以看日志跟踪,也可以多写单元测试。基于等等场景
相关文章链接: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...
相关文章链接: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...
相关文章链接: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...
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android 开发者需要知道的 Linux 知识4. 从 Linux 内核的角度来看 Binder 驱动5. JNI 基础 - Android 共享内存的序列化过程6. Android进程间通信(IPC)机制Binder简要介绍和学习计划...
相关文章链接:1. Android FrameWork - 学习启动篇2. Android FrameWork - 开机启动 Init 进程3. Android Binder 驱动 - Media 服务的添加过程相关源码文件:/system/core/rootdir/init.rc/frameworks/native/cmds/servicemanager/service_manage...
相关文章链接:1. Android Handler 通信 - 源码分析与手写 Handler 框架2. Android Handler 通信 - 彻底了解 Native 层的通信过程相关源码文件:/frameworks/base/core/java/android/os/Handler.java/frameworks/base/core/java/android/os/MessageQu...
写在前面那天刚好是下午 oppo hr 面完,大约 3 点左右腾讯来电,我在电梯里没太注意没接到电话,下午就一直盼呀盼,大约九点刚下班到公司楼下来电了,问方不方便我当然说方便,就在马路边上面了大约 50 来分钟,我感觉应该是挂了的,因为过程中电话老是断加上环境又比较吵,第二天问猎头说,下班前查了一下同一批面试的都释放了,你应该是过了只说是应该过了。过了整整一周到了隔周五上午,接到了第二面的面试通...
相关文章链接:1. Android Framework - 学习启动篇2. Android 系统服务 - AMS 的启动过程3. Android 系统服务 - PMS 的启动过程相关源码文件:/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java/apps/Launche...
相关文章链接:1. Android Framework - 学习启动篇2. Android 系统服务 - AMS 的启动过程3. Android 系统服务 - PMS 的启动过程4. Android Framework - 开机启动 Zygote 进程相关源码文件:/frameworks/base/services/core/java/android/os/Process.java/...
相关文章链接:1. Android Framework - 学习启动篇2. Android FrameWork - 开机启动 SystemServer 进程相关源码文件:/frameworks/base/services/java/com/android/server/SystemServer.java/frameworks/base/services/core/java/com/and...
相关文章链接:1. Android Framework - 学习启动篇2. Android Binder 驱动 - Media 服务的添加过程3. Android Binder 驱动 - 启动 ServiceManager 进程4. Android Binder 驱动 - 内核驱动层源码分析5. Android Binder 驱动 - 从驱动层来分析服务的添加过程相关源码文件:// ...
相关文章链接:1. Android Framework - 学习启动篇2. Android Framework - 开机启动 SystemServer 进程相关源码文件:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.javaframeworks/base/services/co...
相关文章链接:1. Android Framework - 学习启动篇2. Android Framework - 开机启动 SystemServer 进程相关源码文件:/frameworks/base/services/java/com/android/server/SystemServer.java/frameworks/base/services/core/java/com/and...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号