Java线程池源码分析 Java线程池源码分析
几种预定义的线程池 newFixedThreadPool public static ExecutorService newFixedThreadPool(int nThreads) { return new Thr
2020-07-29
ThreadPoolExecutor ThreadPoolExecutor
ThreadPoolExecutorpublic ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,
2020-07-29
Java反射 Java反射
关于反射原理性的知识可以看看类加载流程,对象实例化流程相关的文章,这里说一下反射的常用使用方法。 获取Class Class.forName ClassA.class classA.getClass Class常见方法 isPrim
2020-07-26
Hook点击事件 Hook点击事件
Hook的本质就是就是利用Java反射机制,将源码中一些类的对象替换自己实现的对象,以实现一些特殊的操作. 基本上所有Hook的入门都会从Hook一个View的点击事件开始. Hook之前,一般都得先看看源码,以找到如何反射,如何替换比较合
2020-07-25
Android系统启动流程-桌面程序的启动 Android系统启动流程-桌面程序的启动
在Android启动流程-SystemServer分析中有提到,在SystemServer启动“Other”类型服务的时候,最后阶段会执行ActivityManagerService的systemReady()方法,这里就是启动桌面程序的入
2020-06-29
Android系统启动流程-ART虚拟机的启动 Android系统启动流程-ART虚拟机的启动
启动JVM的通用流程 加载虚拟机实现的动态链接库(Android中是so文件); 一般通过dlopen方法加载so文件. 设置启动参数,并使用JNI_CreateJavaVM(JavaVM**, JNIEnv**, void*)方法创建虚
2020-06-28
Android中的Deep Link与 APP Link Android中的Deep Link与 APP Link
Deep link其实就是一种intent过滤器.可以直接进入APP特定的Activity. 如果APP中存在多个符合要求的Activity,会弹出一个选择框. App link一种特殊的deep link,需要验证网站网址. 用一
2020-06-28
Android系统启动流程-Native方法的注册 Android系统启动流程-Native方法的注册
在使用app_process 创建zygote进程的过程中会执行下面这些操作: 创建ART虚拟机 注册Native方法 找到ZygoteInit,通过反射调用它的main方法进入Java世界 这里说一下注册Native方法的一些细节.
2020-06-28
Android系统启动流程-SystemServer分析 Android系统启动流程-SystemServer分析
app_process64在启动zygote进程的时候,会从zygote进程fork出system_server进程. system_server的入口在SystemServer.java中 在Android启动流程-Zygote分析中已经
2020-06-26
使用VSCode阅读Android源码 使用VSCode阅读Android源码
在VSCode 中 ,打开命令面板进行编辑,可以使用UI页面编辑,也可以直接编辑json文件. 主要就是includePath,把主要的头文件路径都包含进去: { "configurations": [ {
2020-06-25
AOSP构建-Android.bp的理解 AOSP构建-Android.bp的理解
C/C++是一种非常古老的编程语言,在大型项目开发管理过程中,单靠MAKE,CMAKE等工具已经不满足需求了,因此催生出了各种个样的构建工具,比如Google自家的GN,Bazel等,还有CMake,XMake,Vcpkg等.工具虽然多种
2020-06-25
Android系统启动流程-Zygote分析 Android系统启动流程-Zygote分析
zygote是通过app_process或者app_process64命令行程序启动的. 先来看下app_process的流程: app_processint main(int argc, char* const argv[]) {
2020-06-25
Linux查看进程和线程信息 Linux查看进程和线程信息
psps -T -p 查看进程下所有线程信息 top 查看整体线程情况 top -H 查看指定进程的线程运行情况 top -H -p 查看当前活跃的进程 top
2020-06-24
Android启动流程-init进程分析 Android启动流程-init进程分析
基于Android 10 源码分析 之前在Android启动流程分析中已经大致分析了一下Android系统启动的过程,这里回顾一下: 上电,从Boot ROM中执行一段烧录好的代码加载bootloader bootloader执行,引
2020-06-22
Android中的ANativeWindow Android中的ANativeWindow
ANativeWindow是什么ANativeWindow是C/C++中定义的一个结构体,等同于Java中的Surface. Android NDK中可以访问到ANativeWindow. ANativeWindow中存放像素信息的结构是:
2020-06-19
AOSP的编译 AOSP的编译
aosp现在使用soong编译工具进行编译了,比之前的老版本编译要容易方便得多了. 步骤 配置好repo等工具 下载aosp源码 开始编译 模拟器演示或者刷写到真实设备上 其实这几个步骤都没什么好说的.第一二步按照要求下载工具和源码即可,
2020-06-12
Android开机动画分析 Android开机动画分析
开机动画系统会按照下面的顺序选择一个开机动画资源(一个zip文件,比如bootanimation.zip): /system/media/bootanimation-encrypted.zip (if getprop("vold.
2020-06-12
Android系统启动流程分析 Android系统启动流程分析
Boot ROM当按下电源键,硬件上电之后,会从一个固定的内存区域读取程序.这个程序是烧写到硬件上的(ROM),用于将bootloader加载到RAM中,并开始执行它. bootloaderbootloader用于告诉设备如何找到系统内核,
2020-06-12
1 / 2