ViewRootImpl事件分发笔记
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiejingguo/article/details/80868027 用户点击屏幕产生触摸行为,该触摸行为由底层硬件捕获并传递。 硬件 -> ViewRootImpl -> DecorView -> PhoneWindow -> Activity 在ViewRootImpl中准备了一条InputStage链。InputStage是个抽象类,有以下几个实现类,并形成单向链:NativePreIme
Binder驱动是如何维护本地Binder和Binder代理的映射关系
通信过程: binder设备驱动会为每个进程分配一个数据结构binder_proc,每进程中的每个用到了binder通信的线程分配数据结构binder_thread。 binder设备驱动会为服务进程中的每个服务对象分配数据结构binder_node,它隶属于服务进程的binder_proc,即binder_node是binder_proc的子结构,binder_node中记录了服务对象在服务进程中的地址;会为客户进程中每个引用分配binder_ref,binder_ref会指向客户进程引用的
Android Studio导入修改过的系统源码
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiejingguo/article/details/83182134 导入系统源码 在主工程模块(如:app)下新建一个文件夹,名字随意,比如exlibs。 把android.jar放入exlibs文件夹中。 在主工程模块的build.gradle(如:app/build.gradle)加入如下一句话: dependencies {
compileOnly files('exlibs/andr
Binder之ProcessState和IPCThreadState类分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiejingguo/article/details/86518401 ProcessState ProcessState表示进程状态,一个进程就一个ProcessState对象。它的职责:1、打开Binder驱动;2、建立线程池。 /frameworks/native/include/binder/ProcessState.h
class ProcessState : public vi
十进制转八进制十六进制 存在的问题
变量p连续输入十进制 20,64,127 转换八进制和十六进制输出 #include<stdio.h> int main() { int p; scanf("%d %d %d",&p,&p,&p); printf("%o,%o,%o"\n,p,p,p); printf("%x,%x,%x"\n,p,p,p); return 0; }
[Error] stray '\316' in program
[Error] expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token
把字符串中空格删除,为啥运行结果不对
file1.c(文件1) #include <stdio.h> int main() { extern void enter_string(char str[]); extern void delete_string(char str[],char ch); extern void print_string(char str[]); char c,str[80]; enter_string(str); scanf("%c",&c); delete_string(str,c); print_st
指针的作用 强制转换 枚举
指针用来做什么: 1,需要传入较大的数据时用作参数 2,传入数组后对数组做操作 3,函数返回值不止一个变量 4,需要用函数来修改不止一个变量 5,动态申请内存。 数组变量是const指针,不能赋值。 判断哪个被const的标志是const在* 的前面还是后面。 强制转换:例如;p=(int)&i; int num[2]={&a[0],&a[1]}; 指针数组只能存放地址,不能存放整数。 strcpy (stu_1. name ,“li lin”); 字符串复制函数 给stu_1.name复制
(传送门)android studio 一直卡在Gradle:Build Running的解决办法
解决方案:https://blog.csdn.net/a549742320/article/details/52525257
C语言 两个矩阵之和(二维数组)
#include<stdio.h>
main()
{
int a[3][3],i,j,z,t;
printf("请你输入9名学生的C语言成绩\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]) ;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j]<a[i][j+1])
t=a[
今日推荐
周排行