自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除