自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 问答 (3)
  • 收藏
  • 关注

原创 Android Go版本无悬浮旋转屏幕按钮问题

问题分析:在Android11版本的机器上打印堆栈,关闭屏幕旋转后横屏手机会进行如下调用//在NavigationBar上显示屏幕旋转按钮04-25 13:24:22.558 17140 17140 D weihang2: setVisibility: java.lang.Throwable04-25 13:24:22.558 17140 17140 D weihang2: at com.android.systemui.statusbar.phone.RotationConte...

2021-09-30 11:30:05 258

原创 Android 11 状态栏电池图标的定制

1. 状态栏电池图标的显示流程//packages/SystemUI/src/com/android/systemui/BatteryMeterView.javapublicBatteryMeterView(Contextcontext,AttributeSetattrs,intdefStyle){mBatteryIconView=newImageView(context);mBatteryIconView.setImageDrawable(mDrawa...

2021-09-30 11:27:33 2499

原创 Android 11 截图流程梳理

Android原生截屏方式为,power键和音量下键的组合键,那么想要分析截屏流程就从按键的处理流程开始往下进行分析1.PhoneWindowManager -- Android按键分发publicintinterceptKeyBeforeQueueing(KeyEventevent,intpolicyFlags){caseKeyEvent.KEYCODE_VOLUME_DOWN:caseKeyEvent.KEYCODE_VOLUME_U...

2021-09-30 11:24:17 3119 1

原创 Android 11 SystemUI 删除状态栏的点击下拉动画

1.问题描述通话过程中,因未完全遮挡距离传感器导致屏幕亮屏,屏幕亮屏后耳朵附近误触状态栏导致状态栏下拉状态栏下拉的情况有两种:一种为拖动状态栏下拉,另一种为在非锁屏下点击两次状态栏使状态栏下拉(第一次点击状态栏时,状态栏下拉为展开动画此时动画展示完成后会完全收回状态栏,在动画展示时进行第二次点击,则此时状态栏会完全展开)由于在通话过程中大概率还是点击导致状态栏下拉,拖动导致下拉的概率较低,所以在状态栏点击功能方面解决该问题,在点击情况下由于完整的下拉的前提是状态栏处于展开动画,所以不显.

2021-09-30 11:20:36 1364 2

原创 Android 11 无线充电动画、铃声及问题分析

Android 充电的方式有三种:电源充电,USB充电,无线充电,其中原生实现了无线充电的动画,以及相关提示音,无线充电动画的起始位置则是从PowerManagerService开始流程分析1. PowerManagerService在PowerManagerService中有这样一个方法updateIsPoweredLocked,在充电状态发生改变时都会进入到该方法,而无线充电的处理逻辑也在此方法中privatevoidupdateIsPoweredLocked(int...

2021-09-30 11:10:46 858

转载 cmder执行时卡顿以及ll无法高亮文件夹

cmder执行时卡顿以及ll无法高亮文件夹

2021-03-31 18:07:35 341

原创 MediaPlayer使用setVolume调整音量大小无效的解决方法

MediaPlayer使用setVolem调整音量大小无效的解决方法private MediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);mediaPlayer.setDataSource(MainActivity.this, Settings.System.DEFAULT_NOTIFICATION_URI);mediaPlayer.pr

2021-01-20 15:14:51 3424

转载 OkHttp在请求网络链接的时候直接onFailure

OkHttp在请求网络链接的时候直接onFailureAndroid P(API 28)以上版本全面禁止了非https链接,并严格审查网站的CA证书解决:在res文件夹下新建目录xml,然后创建文件network_security_config.xml(这个名字可以自定义,旨在开启http请求)两种方法:<network-security-config> <!--第一种--> <domain-config cleartextTrafficPermitted=

2020-08-28 11:19:37 1177

转载 AndroidStudio 4.0.1 无法打开Android Device Monitor的解决方法

[https://blog.csdn.net/bingocoder/article/details/80570439]

2020-08-18 16:37:12 1511

原创 Java中接口和抽象类的区别

Java中接口和抽象类的区别

2020-07-25 16:48:05 105

原创 Java中if...else...和三元运算符的关系

Java中if…else…和三元运算符的关系public class Hello { public static void main(String[] args) { int x = 20; int y = 100; if(x >= y) { System.out.println("x大于等于y"); }else { System.out.println("x小于y"); } String ret= x>=y?"x大于等于y":"x小于y"; }}

2020-07-15 22:11:21 565

原创 Java中的数据类型

Java中的数据类型Java中的数据类型分为两大类:(1)基本数据类型:<1>数值型:①整数类型:byteshortintlong②小数类型:floatdouble<2>字符型:char<3>布尔型:boolean(2)引用数据类型(1)类(2)接口(3)数组...

2020-07-15 19:40:06 123

原创 二叉树的重建

文章目录1.根据二叉树的中序和后续遍历重建二叉树2.根据二叉树的中序和前序遍历重建二叉树1.根据二叉树的中序和后续遍历重建二叉树思路:假设递归过程中,某一步的后序序列区间为[postL,postR],中序序列区间为[inL,inR];1. 根据后序遍历的特点可知,postR位置为根结点;2. 从中序序列中,寻找出root的位置k,k左边的均为左子树,右边的均为右子树;3. 将左子树区...

2019-09-15 10:15:41 165

原创 Cloudimage

基于HTTP协议的图片处理服务器 Cloudimage项目功能提供一个存储图片服务器,为图片提供一个唯一的url,用url可以将图片展示在其他网页上项目思路使用MySQL数据库保存图片的各种信息,并对MySQL提供的接口进行封装采用md5算法对下载的图片进行校验,保证图片的完整性采用RESTful风格对HTTP协议进行设计使用使用JSON数据交换格式组织请求信息与响应信息...

2019-09-02 09:44:52 532

原创 红黑树的创建

红黑树的结点插入cur为当前结点,p为父节点,g为祖父结点,u为叔叔结点情况一cur为红色,p为红色,g为红色,u存在且为红色调整前调整后调整方式:将p结点和u结点调整为黑色,将g结点改为红色将cur指向g结点,将p结点指向cur的p结点,继续向上调整情况二cur为红,p为红,g为黑,u不存在/u为黑调整前调整后调整方式:p为g的左孩子,cur为p的左孩子,则进...

2019-08-28 12:59:25 823

原创 MyStore

MyStore 管理系统功能连接MySQL管理信息封装MySQL接口自动完成SQL语句拼接并执行窗口界面支持优雅的操作登录系统不同权限不同界面对员工信息的增删改查对商品信息的增删改查可视化收银界面项目概述项目基于Duilib第三方库,以及对MySQL等函数的封装实现的一个超市商品及员工管理工具XML部分控件控件名作用VerticalLayout纵...

2019-08-27 15:25:23 328

原创 C++方向的面试题总结

文章目录1.C++中struct和class的区别是什么?2.C++面向对象的三大特性:封装/继承/多态3.结构体怎么对齐? 为什么要进行内存对齐?4.this指针存在哪里?this指针可以为空吗?5.malloc/calloc/realloc的区别6.malloc/free和new/delete的区别7.vector和list的区别?8.为什么要将deque作为stack和queue的底层结构?...

2019-08-17 17:34:35 185

原创 C++智能指针----shared_ptr

文章目录1.智能指针的原理2.shared_ptr的原理3.代码实现4.使用伪函数定制删除器1.智能指针的原理RAII是一种利用对象生命周期来控制程序资源(如内存,文件句柄,网络连接,互斥量等)的简单技术;在对象构造时获取资源,接着控制着对资源的访问使之在对象生命周期内始终保持有效,最后在对象析构的时候释放资源;借此,我们实际上把管理一份资源的责任托管给了一个对象,这种做法有两个好处:1....

2019-08-15 16:55:18 114

原创 vfork使用return退出为什么会挂掉?

vfork使用return退出为什么会挂掉?源代码为什么调用return直接程序挂掉 首先说一下fork(和vfork()的区别:fork()是创建一个子进程,并把父进程的内存数据直接copy到子进程中vfork()是创建一个子进程,并和父进程的内存数据share一起使用这两个的差别在于,一个是copy,一个是shareman vfork查看vfork()是怎么工作的...

2019-08-14 08:50:52 226

原创 TCP协议中的七个定时器

文章目录1.建立连接定时器2.超时重传定时器3.延迟应答定时器4.持续定时器5.保活定时器6.FIN_WAIT2定时器7.TIME_WAIT定时器1.建立连接定时器在发送SYN请求时定时器启动,如果在定时器期间没有收到服务器的回应(75秒),则自动关闭连接,连接立即终止2.超时重传定时器超时重传定时器,在TCP发送某个数据段时设定,如果在一定时间内,没有收到对端的回应,TCP将认为你这段数...

2019-08-09 08:40:38 506

原创 Vs2017使用C++封装MySQL数据库--(超详细图文详解)

文章目录1.Windows下安装MySQL数据库2.环境配置3.常用SQL语句4.数据库常用的API接口5.使用C++对这些常用API进行封装1.Windows下安装MySQL数据库1.1下载MySQL因为我的电脑是64位,所以选择64位的MySQL进行下载下载地址点击下载MySQL1.2 安装MySQL把MySQL文件夹放在自己想要放的位置,注意:路径名字最好不要有中文1.3 ...

2019-08-08 15:28:01 1346

原创 牛客网刷题纠错05

文章目录1.read的系统调用2.关于逻辑地址的形成3.关于CPU调度算法4.不使用加减乘除完成加法操作1.read的系统调用链接:https://www.nowcoder.com/questionTerminal/59acb0da2ea54842b794bb7d2fc89d9a来源:牛客网若文件的数据不在内存中,则进程进入睡眠模式的目的是等待内存对磁盘上文件的映射,因为磁盘的读取比较慢,...

2019-08-03 10:32:06 226

原创 操作系统

文章目录1.关于LRU算法FILO算法OPT算法2.可重入函数3.大端字节序小端字节序4.线程和进程1.关于LRU算法FILO算法OPT算法链接:https://www.nowcoder.com/questionTerminal/6051c6b67da74507a6affd44619a3bed来源:牛客网LRU算法:1进入—>13进入—>3 1(刚使用的放在前面,未使用的依...

2019-08-01 17:59:28 152

原创 牛客网刷题纠错04

文章目录1.哈夫曼树的构造2.关于排序树的性质3.熟悉各种排序.....4.栈的记忆性1.哈夫曼树的构造假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:(1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);(2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为...

2019-07-28 14:16:57 157

原创 Linux网络TCP通信时程序的运行状态

TCP如何建立链接TCP如何通信TCP如何关闭链接什么是滑动窗口什么是半关闭局域网内两台机器如何利用TCP/IP通信internet上两台主机如何进行通信如何在internet上识别唯一一个进程答:通过“IP地址+端口号”来区分不同的服务为什么说TCP是可靠的链接,UDP不可靠路由器和交换机的区别点到点,端到端...

2019-07-22 14:51:24 221

原创 牛客网刷题纠错03

文章目录1.关于堆和栈的说法2.关于构造函数的踩坑1.关于堆和栈的说法链接:https://www.nowcoder.com/questionTerminal/a7abd9cc7b454ce29d0088f3fd230c90来源:牛客网A,堆和栈的大小都可以设置,栈一般只有几KB。B,堆在动态分配时,要申请连续的内存空间,释放后会产生碎片。D,堆是使用malloc()、calloc()...

2019-07-22 11:26:43 192

原创 二叉树的重建--读书笔记02

读书笔记02------二叉树的重建链接:https://www.nowcoder.com/questionTerminal/8a19cbe657394eeaac2f6ea9b0f6fcf6来源:牛客网输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2...

2019-07-19 15:55:14 113

原创 读书笔记01

文章目录1.c++中struct和class的区别2.数组中简单的指针问题3.在二维数组中查找数字4.把字符串中的空格替换成%201.c++中struct和class的区别如果没用明确的成员函数或者成员变量的访问权限级别,struct中默认的是public,而在类中默认的使用private;2.数组中简单的指针问题int getsize(int arr[]) { return sizeo...

2019-07-17 17:09:30 83

原创 牛客网刷题纠错02

文章目录1.关于各类型在各操作系统占用的字节数2.指针的理解3.关于c++不能重载的运算符4.重载函数使用默认参数1.关于各类型在各操作系统占用的字节数链接:https://www.nowcoder.com/questionTerminal/fd98bd711afc4c24b34b27b9f132c729来源:牛客网特别是int相关的类型在不同位数机器的平台下长度不同。C99标准并不规定具...

2019-07-16 17:14:57 123

原创 编程基础问题

文章目录1.空类占用的字节数2.复制构造函数的陷阱3.赋值运算符的重载1.空类占用的字节数①空类占一个字节,空类型的实例中不包含任何信息,本来求sizeof应该是0,但是当我们声明该空类的实例的时候,他必须在内存中占有一定的空间,否则无法使用这些实例,至于占用多少内存,由编译器决定.vs中每个空类实例占用一个字节的空间如果在该类型中添加一个构造函数和一个析构函数,得到的结果是②还是占用一个...

2019-07-12 20:04:24 195

原创 牛客网刷题纠错01

文章目录1.for循环中的逗号表达式2.printf输出使用%5.3s输出字符串3.double类型的数据加int类型的数据4.编程题的哈希映射思想1.for循环中的逗号表达式for(x=0,y=0;(y=123)&&(x<4);x++);①看清楚y是被赋值成123,并不是判断y是否等于123②判断条件中使用逗号表达式for(int i=5,j=10;i,j;i-...

2019-07-11 15:00:20 257

原创 C++使用STL容器实现一个打分系统

文章目录1.string容器2.vector容器3.deque容器4.代码实现1.string容器C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string类,定义在头文件string。String和c风格字符串对比:Char是一个指针,String是一个类, string封装了char,管理这个字符串,是一个char*型的容器。...

2019-06-27 17:02:27 420

原创 Linux进程间通信的常用方式

文章目录1.pipe匿名管道实现进程间通信2.fifo有名管道进行进程间通信3.共享内存实现进程间的通信4.有关于ipcs -q/m/s和ipcrm -q/m/s的用法1.pipe匿名管道实现进程间通信关于进程间通信的相关概念,请点击这里pipe实现进程间通信#include <stdio.h>#include <unistd.h>#include <st...

2019-06-21 14:37:57 792

原创 Linux中FILE和fd的区别

文章目录1.FILE文件流指针2.使用文件描述符1.FILE文件流指针关于FILE的读写操作给文件中写内容#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <sys/wait.h>int main() ...

2019-06-08 14:18:16 820

原创 Linux动态库静态库的生成使用

Linux动态库静态库的生成使用文章目录Linux动态库静态库的生成使用1.准备工作2.静态库的生成使用2.动态库的生成使用1.准备工作①制作静态库的add.h文件#pragma once int add(int a,int b);①制作静态库的sub.h文件#pragma once int sub(int a,int b);②制作静态库的add.c文件#include ...

2019-06-08 14:11:39 164

原创 Linux中自主实现一个shell

文章目录1实现一个minishell2实现minishell输出重定向1实现一个minishell了解Linux中shell的底层实现原理#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string....

2019-06-08 09:51:28 265

原创 Linux系统编程读写锁和条件变量使用

文章目录1.读写锁概念2.条件变量的概念和使用1.读写锁概念1.读写锁的适用场景?互斥锁- - -读写串行读写锁- - -:读: 并行写:串行程序中的读操作大于写操作的时候2.代码展示创建三个写线程,创建五个读线程为了防止数据混乱(CPU调度问题)需要给共享资源上锁,保证数据的整齐使用读写锁#include <stdio.h>#include <uni...

2019-06-05 15:59:15 339

原创 Linux中线程的概念

文章目录1.线程的概念2.创建线程3线程相关函数4线程同步1.线程的概念2.创建线程创建线程-----pthread_create函数原型成功返回0,出错返回错误号int pthread_create(pthread_t thread //线程id等于无符号长整型const pthread_attr_t attr //线程属性 NULLvoid (start_routin...

2019-06-04 16:13:12 184

原创 Linux简单的信号捕捉

文章目录1.使用signal函数2.使用sigaction函数1.使用signal函数signal函数原型sighandler_t signal(int signum, sighandler_t handler);typedef void (*sighandler_t)(int);#include <stdio.h>#include <sys/types.h>...

2019-05-29 09:24:50 255

原创 Linux信号的认识

文章目录一.信号的初步认识二.信号相关函数三.信号集一.信号的初步认识1.特点①简单②携带的信息量少③使用在某个特定场景中2.信号的状态①产生如Ctrl+c…kill…软条件:定时器…硬件:段错误/除0错误②未决状态–没有被处理③递达— 被处理的信号3.阻塞信号集,未决信号集①pcb②不能直接操作③阻塞信号集:要屏蔽的信号④未决信号集:没有被处理的信号的集合...

2019-05-28 17:42:35 133

空空如也

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

TA关注的人

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