2021年5月5日
摘要:【译】Android NDK API 规范 译者按: 修改R代码遇到Lint tool的报错,搜到了这篇文档,aosp仓库地址:Android NDK API Guidelines。 975a589 Merge changes Iae957d87,I1c52d7bb by Alan Viverett 阅读全文
posted @ 2021-05-05 00:39 秋城 阅读(103) 评论(0) 推荐(0) 编辑
  2021年5月4日
摘要:【译】Android API 规范 译者按: 修改R代码遇到Lint tool的报错,搜到了这篇文档,aosp仓库地址:Android API Guidelines。 58e9b5f Project import generated by Copybara. by Android API Counc 阅读全文
posted @ 2021-05-04 14:38 秋城 阅读(157) 评论(0) 推荐(0) 编辑
  2021年4月20日
摘要:Binder学习资料 置顶 Android Bander设计与实现 - 设计篇 前无古人后无来者的一篇Binder总结,设计的角度。11年的文章应该是2.2的Android代码。建议学完各种情景后再回来阅读一遍,如果能看懂那就说明真的学到了。 系列文章大而全 Android2.2 深入理解Andro 阅读全文
posted @ 2021-04-20 19:56 秋城 阅读(68) 评论(0) 推荐(0) 编辑
  2021年3月25日
摘要:App中的handler、looper、messagequeue 一、前言 众所周知,app进程是由system_server进程请求zygote进程fork出来的,具体到到代码是AMS.startProcessLocked方法。基于activity冷启动的流程,本文总结hlm的用法。建议先学习下a 阅读全文
posted @ 2021-03-25 00:53 秋城 阅读(12) 评论(0) 推荐(0) 编辑
  2021年3月24日
摘要:java世界的binder:App进程间Binder通信 一、一个实例:development/samples/ApiDemos 不会用aidl的先去学会怎么使用aidl再来读这篇文章。 aidl使用之官方指导文档:Android Interface Definition Language (AID 阅读全文
posted @ 2021-03-24 01:13 秋城 阅读(21) 评论(0) 推荐(0) 编辑
摘要:java世界的binder:AndroidFramework 一、前言 我们阅读分析了native的binder使用案例,覆盖了大多数情景,总结出一套标准的binder机制使用动作。 进程启动后要使用ProcessState操作binder驱动:open与mmap。之后新建线程池和加线程startT 阅读全文
posted @ 2021-03-24 01:11 秋城 阅读(23) 评论(0) 推荐(0) 编辑
  2021年3月21日
摘要:一次binder请求的来回:bootanimation-->surfaceflinger 一、boot->run() 上篇文章我们在waitForSurfaceFlinger里getService操作,拿到了sf的代理对象BpBinder,现在进行下一步动作,利用sf进行开机动画的显示。 frame 阅读全文
posted @ 2021-03-21 01:11 秋城 阅读(9) 评论(0) 推荐(0) 编辑
摘要:native_getService流程:bootanimation获取surfaceflinger服务 一、 初识bootanimation 1.1 编译文件、rc和源码 Android.bp 1 cc_defaults { 2 name: "bootanimation_defaults", 14 阅读全文
posted @ 2021-03-21 00:55 秋城 阅读(6) 评论(0) 推荐(0) 编辑
摘要:native_addService流程:surfaceflinger 一、前言 servicemanager基本上是第一个打开binder驱动的用户空间进程,上篇文章分析了sm的启动流程 open驱动、注册为context manager、binder_loop不断读驱动以及binder_parse 阅读全文
posted @ 2021-03-21 00:31 秋城 阅读(9) 评论(0) 推荐(0) 编辑
  2021年3月20日
摘要:servicemanager启动流程 前言 serviceMmanager是第一个使用binder驱动的进程(一般情况),由init进程解析init.rc后启动。他被赋予类似dns服务器的职责:管理实名binder的注册、查询。本文从init进程出发,走一遍SM的启动流程。 代码版本:android 阅读全文
posted @ 2021-03-20 23:24 秋城 阅读(23) 评论(0) 推荐(0) 编辑