- 博客(6)
- 收藏
- 关注
原创 Android 系统启动流程浅析
上面的zygote service配置中,执行 /system/bin/app_process64命令之后,程序就会执行到/frameworks/base/cmds/app_process/,该目录下面就是可执行文件,该路径下有app_main.cpp,最终执行的就是app_main.cpp的main方法,在AndroidRuntime的start方法中通过jni启动ZygoteInit。当内核启动完成之后,启动init进程,作为第一个系统进程,init进程有内核态转换为用户态。
2024-07-24 19:03:11 913
原创 Android SystemUI之导航栏(四)
再来看Touch事件,通过sendEvent()方法可以看出,back等view的点击touch事件不是自己处理的,而是交由系统以实体按键(keycode)的形式处理的。进入导航栏的真正根布局:navigation_bar.xml,好吧又是自定义view,NavigationBarView和NavigationBarInflaterView都要仔细研读。我们来看createView()方法:以home按键为例,加载了home的button,其实是加载了R.layout.home的layout布局。
2023-08-02 16:17:00 1865
原创 Android SystemUI之下拉菜单栏(三)
在 QSTileHost 的构造函数里,我们主要看 tunerService.addTunable(this, TILES_SETTING);很明显,调用 tunerService 里的 addTunabe() 方法,跟进去会发现,最终的是调用的 TunerServiceImpl 里面的 addTunabe() 方法。一个实例化 Tile 的 createTile(tileSpec)。2.把创建好的TileRecord 添加的快捷面板中 mTileLayout.addTile(r)。
2023-08-01 17:59:00 933 1
原创 Android SystemUI之StatusBar,状态栏(二)
systemui其实结构是比较复杂,里面管理各种服务,导航栏,状态栏,近期列表,下拉菜单,关机界面等,其中以导航栏和状态栏,近期列表用的比较多,也是本博文会重点讲解的内容。从结构上来讲下拉菜单和状态栏都是属于statusbar,结构树上也是属于顶层的super_status_bar.xml(StatusBarWindowView),说这么多还不如直接上图,这样大家看的比较清晰直观。
2023-08-01 14:05:35 2159 1
原创 Android SystemUI之启动流程(一)
作为Android系统核心应用,SystemUI负责反馈系统及应用状态并与用户保持大量的交互。耳熟能详的三栏:StatusBar(状态栏)、NavigationBar(导航栏)与Notification Panel(通知栏),以及Recents(近期任务界面)。有一点需要说明一下,Android 10之后近期列表的显示被移到Launcher app里面了。
2023-07-31 18:15:58 394 1
转载 通过API文档查询Math类的方法,打印出近似圆,只要给定不同半径,圆的大小随之发生改变
[java] view plain copy print?import java.lang.Math; public class MathDraw { /** * 画图函数,输入圆半径,输出圆 */ public static void paint(int r)
2017-08-11 14:33:49 2201 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人