Android源码阅读
文章平均质量分 75
aosp源码阅读记录
weixin_49274713
这个作者很懒,什么都没留下…
展开
-
Android源码——从Looper看ThreadLocal
ThreadLocal用于存储线程私有数据,一个ThreadLocal对象可以存储一个数据ThreadLocal实现线程私有是因为存储数据时,存储到Thread类中持有的ThreadLocalMap对象中的Entry数组中,采用哈希算法进行存储,key为ThreadLocal对象,value为T类型由于不同的线程存储到的就是不同的Thread类的ThreadLocalMap中,所以各个线程的ThreadLocalMap独立,自然存储其中的ThreadLocal就是独立的。原创 2023-08-23 22:42:18 · 1288 阅读 · 1 评论 -
Android系统启动流程(八)——Launcher启动
Launcher在SystemServer进程初始化完成之后,通过AMS的systemReady方法启动首先会找到一个可显示的设备,然后在其显示区域中显示构造一个Intent,Action为ACTION_MAIN,category为CATEGORY_HOME,然后在PMS中查询对应的Intent,然后返回一个ActivityInfo根据Intent和ActivityInfo来启动Activity,最终调用到startSpecificActivity。原创 2023-08-15 22:53:43 · 747 阅读 · 1 评论 -
Android源码阅读——toolbox可执行文件
以setprop为例,当使用setprop时,会走到toolbox中的main函数,根据tools这个数组,获得对应的函数并执行,setprop对应的函数为setprop_main函数。main函数就是遍历tools这个数组,这个数组存入的就是各个命令名及命令名加上_main对应的函数。当使用上面的这些命令的时候,就会调用到toolbox中的main函数。TOOL是一个宏定义,用于拼接命令名_mian,构造对应的处理函数。toolbox包含6个源文件,创建了6个符号链接。原创 2023-05-06 19:09:10 · 377 阅读 · 0 评论