自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 收藏
  • 关注

原创 surfaceflinger对INVALIDATE和REFRESH消息的处理

安卓surfaceflinger对MessageQueue::INVALIDATE和MessageQueue::REFRESH消息的处理

2025-03-02 18:47:50 813

原创 IGraphicBufferProducer测试程序

安卓gui测试程序,通过BufferQueueProducer向GraphicBuffer填充数据,显示画面

2025-01-10 17:28:20 358

原创 安卓硬件加速hwui

安卓硬件加速实现原理,hwui模块介绍,软件绘制和硬件绘制的对比

2025-01-09 17:06:36 1230

原创 Layer显示区域计算

surfaceflinger layer显示区域计算

2024-12-04 16:07:55 861

原创 MotionEvent的坐标getX和getRawX

安卓MotionEvent的坐标geX和getRawX

2024-11-18 17:28:49 817

原创 安卓广播发送接收流程

安卓广播发送接收流程详细分析

2024-04-16 19:59:02 1634

原创 Android Choreographer分析

安卓VSYNC信号接收器,实现稳定的帧率刷新机制,统一管理应用的输入、动画和绘制等任务的执行时机。

2023-05-08 21:59:56 985 2

原创 Android InputEventReceiver事件接收流程分析

从native事件接收到onTouchEvent流程分析。

2023-05-03 19:44:21 2404 1

原创 Android InputChannel事件发送接收系统分析

安卓InputEvent发送接收流程系统分析,InputChannel创建过程,事件发送接收过程。

2023-05-03 18:09:46 1332

原创 Android inputflinger系统分析

安卓Input系统分析,对inputflinger源码全面分析,从事件读取InputReader到事件分发InputDispatcher,全面了解native事件读取分发机制。

2023-05-03 17:57:36 1823

原创 Android分屏流程分析

安卓分屏流程分析

2023-04-24 19:27:43 4686 1

原创 从setContentView到onResume应用显示过程分析

安卓应用程序从setContentView到onResume显示过程分析,DecorView创建过程。

2023-04-02 12:01:21 525

原创 从zygote到onCreate应用启动过程分析

安卓应用程序从zygote到onCreate

2023-03-24 18:22:35 514

原创 Activty启动到显示的过程[二]

从system_server,zygote,app相关进程的工作中深入学习Activity从启动到显示的过程

2023-03-06 19:50:14 618

原创 Android Looper简介

安卓Looper详解

2023-03-06 19:34:58 2357

原创 Android servicemanager进程启动过程

servicemanager服务端启动流程,defaultServiceManger()方法实现

2023-02-28 19:59:29 1500 1

原创 Android zygote进程启动过程

安卓zygote进程启动过程

2023-02-27 09:17:01 499

原创 Service能够创建界面(addView)吗?

Andorid service创建界面(addView)

2022-09-23 10:00:33 1235

原创 Activty启动到显示的过程[一]

从system_server,zygote,app相关进程的工作中深入学习Activity从启动到显示的过程

2022-07-06 13:56:05 891

原创 FBE中的Home界面FallbackHome

FallbackHomeFallbackHome继承Activity,是安卓系统启动后未解锁时的home界面。Settings程序AndroidManifest.xml中定义了FallbackHome的intent-filter,可以看到Action:“android.intent.category.HOME”。 <!-- Triggered when user-selected home app isn't encryption aware --> &lt

2022-03-09 10:53:50 3798

原创 adb install安装流程

安卓应用安装流程,动态链接库加载

2022-03-08 20:07:50 6510

原创 Android Watchdog分析

安卓watchdog原理分析

2021-12-23 15:52:46 2312

原创 安卓property service系统分析

本文基于安卓11,propertyService在init进程中启动。文章目录initPropertyInit**StartPropertyService**(&property_fd)Noticeinit进程相关代码位于/system/core/init/目录下,其中包括property_service.cpp。android::properties相关代码位于/system/core/property_service/目录。底层相关代码/bionic/libc/bionic/, /bio

2021-05-13 14:49:49 2205 2

原创 安卓恢复出厂设置过程详解

本文基于Android R。高通平台。设置中点击“恢复出厂设置”即可清楚用户数据。查看代码发现其只是发送了一个广播而已。 Intent intent = new Intent(Intent.ACTION_FACTORY_RESET); intent.setPackage("android"); intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);

2021-04-15 16:13:30 8757

原创 APK安装流程

总体来看是PackageInstaller应用程序通过binder和system_server进程间通信,安装的一系列操作都在system_server进程中处理。细致得看一遍流程,InstallInstalling在onCreate()方法中会通过ApplicationPackageManager初始化一个PackageInstaller实例对象。PackageInstaller[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jDGWMxpS-161709524239.

2021-03-30 17:10:53 478

原创 关闭selinux

cmdlinesystem/core/init/selinux.cppStatusFromCmdline 从cmdline获取selinux信息:EnforcingStatus StatusFromCmdline() { EnforcingStatus status = SELINUX_ENFORCING; ImportKernelCmdline([&](const std::string& key, const std::string& value) {

2021-03-30 17:06:12 341

原创 Activity进程启动过程

Activity启动Activity启动过程,下图应该是基于安装9或10,来自知乎张潮州。需要注意的是ActivityStarter.startActivityUnchecked()方法:计算启动的flags,首先计算flags是因为后面要根据flags选择启动的task,所以这一步是铺垫作用.这里读者可能会问为什么要计算,因为有些flags是冲突的,所以需要计算一下.对于找到task的过程其实还包含一些特殊的activity模式和标志的处理,以及对activity复用的逻辑.可以复用的情况包含

2021-03-30 17:03:09 468

原创 Android Runtime Resources Overlay

Android Runtime Resources Overlay高通平台代码systemUI默认带有刘海屏效果,需要去除刘海屏效果。了解到 Framework/res/中配置文件中可以对刘海屏幕效果定制适配,其中config_fillMainBuiltInDisplayCutout属性控制是否需要显示刘海效果,config_mainBuiltInDisplayCutout属性控制刘海形状效果。在 vendor/qcom/目录下搜索这两个属性,果然发现在vendor/qcom-proprietary/

2021-03-30 16:58:04 861

原创 mybatis(xml方式)多数据源异常: Invalid bound statement (not found)

mybatis配置多数据源请求后台时抛出异常:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):很显然异常是在说没找到对应的方法,或者说没有对应方法的sql。之前配置xml方式的mybatis都是在application.properties中添加一行mybatis....

2019-03-07 14:57:38 4124 4

转载 sql中的group by

转载于https://blog.youkuaiyun.com/hao1066821456/article/details/69556644先来看下表1,表名为test: 表1  执行如下SQL语句: 1 2 SELECT name FROM test GROUP BY name   你应该很容易知道运行的结果,没错,就是下表2: ...

2018-10-25 13:50:07 474

原创 关于spring的属性注入

1.spring 注解与xml两种方式属性注入的区别xml通过&lt;property&gt;标签或者p:attr两种方式注入属性值都需要目标类有setter方法,而注解@Autowired不用。这也说明当xml配置文件中有&lt;property&gt;标签或者p:attr这两种方式出现时,spring就会调用目标类的setter方法。 2.@Autowired注解标注在方法上。...

2018-10-13 14:47:37 182

原创 java动态代理:JDK与CGLib

1.JDK方式的动态代理必须是要面向接口编程的模式,要用到两个类:InvocationHandler和Proxy。需要注意的是静态方法Proxy.newProxyInstance()返回的是接口类,而不是实现类,如果强转为实现类就会抛Cast异常了,这也是JDK动态代理面向接口编程方式的结果之一吧。 2.cglib方式实现动态代理是采用底层的字节码技术,为一个类创建子类,不需要定义...

2018-09-26 10:25:26 150

原创 spring基于aspectj的AOP配置 aop:aspectj-autoproxy proxy-target-class="true"

精通Spring4.x--企业应用开发实战8.5.1@AfterReturning("@annotation()")切点函数详解 代码实现的目标是为NaugthyWaiter类的greetTo()方法实现后置增强,其中greetTo()方法被@NeedTest注解标注。增强类为TestAspect。增强类:@Aspect@Componentpublic class Te...

2018-09-21 18:15:53 15655 6

转载 关于mybatis中typeHandler的两个案例

转载于:点击打开链接在做开发时,我们经常会遇到这样一些问题,比如我有一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,怎么实现?再比如我有一个User类,User类中有一个属性叫做interest,这个属性用来描述用户的爱好,它的数据类型是一个List集合,那么我想在把这个List集合存入数据库的时候能够自动的变成{XXX,X...

2018-07-15 15:07:54 180

转载 MyBatis中Like语句使用总结

转载于点击打开链接 oracle数据库:SELECT*FROMuserWHEREname like CONCAT('%',#{name},'%')或 :SELECT*FROMuserWHEREname like '%'||#{name}||'%'SQLServer数据库: SELECT*FROMuserWHEREname like '%'+#{name}+'%'my...

2018-07-13 15:14:46 307

转载 Hibernate各种主键生成策略与配置详解

转载于:点击打开链接1、assigned主键由外部程序负责生成,在 save() 之前必须指定一个。Hibernate不负责维护主键生成。与Hibernate和底层数据库都无关,可以跨数据库。在存储对象前,必须要使用主键的setter方法给主键赋值,至于这个值怎么生成,完全由自己决定,这种方法应该尽量避免。&lt;id name="id" column="id"&gt;&lt;generator ...

2018-06-21 11:26:22 155

转载 hibernate.hbm2ddl.auto配置详解

转载于:点击打开链接在用SSH搭建一个OA项目的时候,发现搭建都OK,数据增删改查也都没有问题,但是在重启服务器时,之前操作的数据都没有了,查看数据库只有表结构没有数据,经过百般查找发现出在了hibernate.cfg.xml中的一个属性的配置上:&lt;property name="hbm2ddl.auto"&gt;create&lt;/property&gt;1...

2018-06-21 10:49:27 878

转载 The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone问题解决

转贼于:点击打开链接  点击打开链接今天在使用JDBC连接数据库时出了一点问题:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SP...

2018-06-20 23:08:40 3009

原创 List.remove()的两个重载方法

Java编程思想20章的一个例子,20.2编写注解处理器,在list&lt;Interger&gt; useCases中移除注解中出现了的id(int): public static void trackUseCases(List&lt;Integer&gt; useCases, Class&lt;?&gt; cl) { for(Method method : cl.getD...

2018-06-18 16:38:14 504

原创 自定义属性编辑器(java.beans.PropetyEditor)

Spring的大部分默认属性编辑器都直接扩展于java.beans.PropertyEditorSupport类,开发者也可以通过扩展PropertyEditorSupport实现自己的属性编辑器。(在IoC的流水线的第三步中,Bean工厂后处理器BeanFactoryPostProcessor对BeanDefinitionRegistry中的BeanDefinition进行扫描,通过Java反射...

2018-06-09 16:13:29 1083 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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