自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (18)
  • 收藏
  • 关注

原创 InputDispatch - Keyevent分发

mInboundQueue位于InputDispatcher线程,代表即将分发的输入事件,outboundQueue位于目标窗口的connection,代表即将要分发给目标窗口的输入事件,waitQueue位于目标窗口的connection,代表等待目标窗口处理的输入事件。-> enqueueDispatchEntryLocked *6 //调用6次,KeyEntry转换为了DispatchEntry,最后加入目标窗口的connection的outboundQueue队列。

2024-03-06 15:27:02 909

原创 Android断电重启,数据丢失

Android断电重启,数据丢失

2024-01-10 19:28:18 383

原创 vim tab换成4个空格

在~/.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:set ts=4set expandtab

2023-06-25 11:42:51 162

原创 android模拟CPU占用

android 脚本模拟CPU占用

2023-05-06 11:30:09 378

原创 android模拟IO占用

android shell脚本模拟IO占用

2023-05-06 11:26:26 142

原创 WinScope

android 跟踪窗口转换利器

2022-09-19 04:02:51 713

原创 抓取systrace

(1) P 及 P之前 用systrace.py或者atraceatrace -b 20000 sched freq idle gfx view am wm -t 10 -o /data/a.traceframeworks/native/services/surfaceflinger/surfaceflinger.rcservice surfaceflinger /system/bin/surfaceflinger class core animation user syste...

2022-05-27 01:02:15 256

原创 抓开机systrace

可参考原生atrace service修改:/system/etc/init/atrace.rcon property:persist.debug.atrace.boottrace=1 start boottrace# Run atrace with the categories written in a file#service boottrace /system/bin/atrace --async_start -f /data/misc/boottrace/categories...

2022-05-12 21:52:48 546

原创 Tunnel mode播放片源黑屏

连续抓几次的systrace,每次queueBuffer都有被acquire,看不出还是得加debug log,顺流程queueBuffer之后会触发SurfaceFlinger::handleMessageInvalidate -> handlePageFlip -> latchBuffer -> latchSidebandStream 返回true,直接return,导致没有执行到updateTexImage(预期这里...

2022-03-17 16:07:58 240

原创 hw vsync

HW vsync的间隔是在resyncToHardwareVsync中得到的,const nsecs_t period =getHwComposer().getRefreshPeriod(HWC_DISPLAY_PRIMARY);

2021-07-28 23:17:15 472 1

原创 后台下载,UI操作卡顿

问题:进入应用商店下载多个应用,后台下载时返回主页操作时会存在操作卡顿抓top和内存占用信息分析:后台下载多个应用,应用安装后做预编译cpu开销很大,影响系统整体性能400%cpu 44%user 209%nice 88%sys 59%idle 0%jow 0%irg 0%sirq 0%hostPID USER PR NIVIRT RES SHR S[%CPU]%MEM TIME+ ARGS10511 u0 a40073 30 10 1.2G 55M 42M R 258 3.1 0:03

2021-07-28 23:14:32 231

原创 编cts testcase

遇到需要给cts测项加log debug时,下对应的android code,整编过加log,接着就是编译testcase了:source build/envsetup.shlunch $device-userdebugmmm cts/tests/tests/simpleperf -j32生成:out/target/product/$device/data/nativetest]$ IsCtsSimpleperfTestCases32 CtsSimpleperfTestCases64

2021-07-28 23:09:24 230

原创 Perfetto —— 靠谱的trace利器

最近踩到的坑,报了一个cst的测试项fail,帧率不符合预期,对于的进程是android.view.cts肯定是要抓sytrace看看了但是,试了systrace和atrace去抓,只抓了launcher的绘制,并没有android.view.cts的绘制信息用-a指定app也是一样经过实验,可以试下perfetto抓取(果然,google极力推荐使用还是没错的,要跟上工具的变化)1、开启trace UIam start com.android.traceur/com.android

2021-07-28 23:01:23 4747

原创 android R TV recentUI功能打通

预期:遥控器双击Home键可以唤起近期任务列表recentUI启动流程1、首先要打开doubleTapOnHome config,对应overlay中打开1383 <!-- Control the behavior when the user double-taps the home button.1384 0 - Nothing1385 1 - Recent apps view in SystemUI1386 This...

2021-05-16 22:34:13 308

原创 adb accessory 填坑

参考:https://blog.csdn.net/yingzhao80/article/details/45511351Android下USB Accessory设备连接后处理流程

2021-05-16 22:04:16 612 1

原创 WSL- Window子系统使用详细教程

1、启用子系统控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选适用于Linux的Windows子系统2、Windows下Linux子系统安装在非系统盘(1)下载linux安装包:官方提供的离线安装包有Ubuntu 18.04,Ubuntu 18.04 ARM,Ubuntu 16.04,Debian GNU / Linux,K...

2020-03-01 02:42:09 9005

原创 Android Init Language--安卓初始化语言

1、Android Init Language Android Init Language,也就是Android初始化语言,就是init.rc文件的语法 Android 初始化语言包含五种主要的语句类:Actions, Commands, Services, Options, and Imports.(操作,命令,服务,选项和导入) 所有这些都是...

2019-11-16 11:30:42 661

原创 【Android】【查看当前焦点所在】

如果当前焦点被一个自己不知道的控件获取到,则其他控件就不会获取到焦点 这时候我们就需要找到当前获取焦点的控件,可以通过下面方法去排查:(1)adb shell dumpsys window获取window信息(2)在dumpsys window的信息中查找key值——mFocusedWindow,对应的value值就是当前焦点所在的window 比如:a...

2019-09-08 04:14:32 6457

原创 判断Android设备的kernel是32bit还是64bit

问题:搭载64bit芯片的机器,其运行的kernel可能是32bit,也有可能是64bit,那么该怎么去判断kernel的bit数呢?我们可以通过该命令去判断当前的kernel的位数:adb shell cat /proc/cpuinfo这里对vivo X23进行操作,可得到以下打印:PS D:\SoftWare\AndroidSDK\platform-tools> ./adb...

2019-09-08 03:49:59 2134

原创 Android加calltrace

1、Java文件加calltrace在需要添加trace的地方添加以下几行,即可在log中打印出trace try{ throw new Exception("debug trace"); }catch(Exception e){ w.printStackTrace(); }2、C++添加calltrace#AN 5.0及以前版本:(...

2019-09-08 03:27:32 616

原创 【Android TV】Android 8.0下 ,TV系统通知音失效

问题描述:Android 8.0的TV系统通知音失效分析过程:跟踪触发通知的流程, SystemUI 通知音播放是调用Ringtoneplayer播放类的,这个接收的参数是声音的URI路径,是从 Notificationrecord calculatesound方法里传的在calculateSound()函数里:if (mContext.getPackageManager()...

2019-06-03 02:26:09 992

原创 【Android TV】 遥控器Enter键无法调出软键盘

问题描述:Android TV开机向导,进入连接wifi界面,按遥控器Enter键无法调出软键盘(Android 9.0)分析过程:1、getevent可读取到按键值——正常2、dumpsys input ,dumpsys input_method发现:4: Xiaomi RCClasses:0x80000023Path:/dev/input/event3Enabled...

2019-06-03 01:55:40 2708

原创 浅谈"指向二维数组的指针"

二维数组名(如a)是指向行的。行指针与列指针的基类型是不同的,a[0] ,a[1] , a[2]的类型为 int* 型,而a的类型为int(*)[4] , 指向含4个元素的一维数组。在指向行的指针前面加上*,就转换为指向列的指针。比如:a 和 a + 1 是指向行的指针,在他们前面加上一个*,就变成 *a 和 *(a+1) ,他们就变成指向列的指针,分别指向a数组0行0列的元素和1

2017-09-03 02:59:51 459

原创 C编译过程以及gcc编译参数

C语言编译过程以及gcc编译参数:.c文件--->预编译--->编译--->链接--->可执行文件gcc -o temp a.c    // -o指定输出文件名字         直接编译a.c生成temp.exe-E预编译(将include包含的头文件内容替换到.c文件中,同时删去注释部分)例: gcc   -E   -o   c.e   a.c    //把

2017-08-28 16:04:23 549

原创 如何在初始化窗体不是最大化情况下,获取最大化窗体的客户区的尺寸

思路:查找有没有相关的函数可以达到这个目的呢?经查找发现,要求最大化的客户区的尺寸可以通过调用GetSystemMetrics(int nIndex)函数来获得(参数可为:SM_CXFULLSCREEN和SM_CYFULLSCREEN)但是,这里获得的SM_CYFULLSCREEN为最大化时,窗体只含标题栏和客户区时客户区的高度可利用上面的函数通过参数SM_CYMENU来过去菜单栏

2017-08-11 10:22:50 663

转载 根据一个bmp话柄生成bmp文件

/*hBitmap:要保存的位图句柄,lpszFileName:要保存的BMP文件名,返回值:成功返回TRUE,否则返回FALSE。*/BOOL SaveToFile(HBITMAP hBitmap, LPCTSTR lpszFileName){HDC hDC;//当前分辨率下每象素所占字节数int iBits;//位图中每象素所占字节数WORD wBitCount;

2017-08-03 17:21:34 320

Android编程权威指南

//Android编程权威指南 权威、全面、实用、易懂,是本书最大的特色。本书根据美国大名鼎鼎的Big Nerd Ranch训练营的Android培训讲义编写而成,已经为微软、谷歌、Facebook等行业巨头培养了众多专业人才。作者巧妙地把Android开发所需的庞杂知识、行业实践、编程规范等融入一本书中,通过精心编排的应用示例、循序渐进的内容组织,以及循循善诱的语言,深入地讲解了Android开发的方方面面。如果学完一章之后仍然意犹未尽,那“挑战练习”一定会让你大呼过瘾。本书之所以能在移动应用开发类图书中脱颖而出,还在于它真的是在与读者“对话”。阅读本书就好像有一位私人导师在你身边随时为你答疑解惑。, 本书适合所有对Android及移动开发感兴趣的读者,需要一定的Java编程基础。

2018-09-21

C/C++程序员面试宝典(梁镇宇)

本书通过380余个有针对性的面试题,从职业规划、C/C++基础知识、C/C++专业应用、逻辑测试等多方面总结了IT企业招聘C/C++程序员的常见考点。笔试、面试必备宝典

2018-09-21

《Windows程序设计》(第五版)

在第五版的《Windows 程式开发设计指南》中,作者身为倍受敬重的 Windows Pioneer Award(Windows 开路先锋奖)得主,依据最新版本 Windows 作业系统,以可靠的取材资料校定这一本经典之作——再一次深入探索了 Win32 程式设计介面的根本重心

2018-09-21

gcc7.1.0安装包(mingw-w64)

mingw 64位 gcc 7.1.0 安装包.用于64位Windows系统gcc编译,把下载的压缩包解压后把bin目录追加到系统变量Path即可。如Windows 10,解压后路径为D:\mingw-w64\bin,右键"我的电脑">"高级">"环境变量">"系统变量"选中"Path"点右边的 "新建",填入D:\mingw-w64\bin即可

2017-08-27

超详细oracle教程(数据库)

零基础必学,数据库入门必备,极其详细地为你解释数据库

2017-08-08

Windows平台下多层DICOM图像读取与显示的方法

多层DCM图像读取与显示的方法

2017-08-06

C++跟DCMTK显示DICOM医学图像

基于C++和DCMTK开源库实现医学影像DICOM的显示

2017-08-06

C#经典教程

C#零基础经典入门教程

2017-08-06

LPC2114外部中断

LPC2114外部中断实现加一减一功能,并显示在LED灯上

2017-08-06

51单片机教程

51单片机经典教程,简单明了

2017-08-06

LPC2131_LPC2132_LPC2138中文使用手册(详细版)

LPC2131_LPC2132_LPC2138中文使用手册(详细版)

2017-06-18

基于LPC2114的数控系统(X-Y工作台)

LPC2114+XY+数控插补

2017-06-18

基于LPC2138+LCD128*64的实时时钟程序

基于LPC2138芯片的实时时钟显示程序(LCD128*64LCD)

2017-06-18

ubuntu12.04使用教程

Linux菜鸟入门精品

2017-04-01

基于PLC2114的直流电机调速3.0

基于PLC2114的直流电机调速系统,代码+仿真文件

2016-11-25

信号报告谱分析实验报告1

用FFT实现谱分析实验报告

2016-11-25

空空如也

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

TA关注的人

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