当前位置: 首页 > news >正文

Android Framework阅读经验

  • Context.getSystemService(Context.XXXX),在/android/frameworks/base/core/java/android/app/SystemServiceRegistry.java类里面,直接搜索Context.XXXX,如果这里也搜不到,就全局搜索一下Context.XXXX,在注册的地方会有创建的入口,以Context.WINDOW_SERVICE为例
//比如WindowManagerImpl的创建
registerService(Context.WINDOW_SERVICE, WindowManager.class,new CachedServiceFetcher<WindowManager>() {@Overridepublic WindowManager createService(ContextImpl ctx) {return new WindowManagerImpl(ctx);}});
  • /android/frameworks/base/core/java/com/android/internal/os/BinderInternal.java下的native方法,对应实现路径在android/frameworks/base/core/jni/android_util_Binder.cpp
public static final native IBinder getContextObject();//对应static jobject android_os_BinderInternal_getContextObject(JNIEnv* env, jobject clazz)
{sp<IBinder> b = ProcessState::self()->getContextObject(NULL);return javaObjectForIBinder(env, b);
}

相关文章:

  • SCRM软件数据分析功能使用指南:从数据挖掘到商业决策
  • PL端软核FIFO读写
  • 【数据破茧成蝶】企业数据标准:AI时代的智能罗盘与增长基石
  • 机构运动分析系统开发(Python实现)
  • 【漏洞复现】Apache Kafka Connect 任意文件读取漏洞(CVE-2025-27817)
  • 八字排盘小游戏微信流量主小程序开源
  • 用 python 开发一个可调用工具的 AI Agent,实现电脑配置专业评价
  • springboot入门之路(三)_特性
  • Python pip 以及 包的升级
  • 微服务架构入门与 Nacos 组件实战使用详解
  • 22.react和next.js、SSR与CSR的比较
  • 前端如何通过 Blob 下载 Excel 文件
  • day42-硬件学习之温度传感器及(ARM体系架构)
  • Neo4j常用语法-path
  • 设备巡检系统小程序ThinkPHP+UniApp
  • 面试150 删除有序数组中的重复项 Ⅱ
  • 【AI作画】第2章comfy ui的一般输入节点,文本框的类型和输入形式
  • register_wide_hw_breakpoint实现分析
  • 设计模式精讲 Day 7:桥接模式(Bridge Pattern)
  • OSITCP/IP
  • 做网站支持提现支付宝/西安百度
  • 人民日报电子版/北京seo优化服务
  • 25个网站/seo站长工具
  • 博客网站搭建/国内优秀网页设计赏析
  • o2o网站建设计划书/武汉好的seo优化网
  • 做搜狗pc网站快速/淘宝站外引流推广方法