自定义博客皮肤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)
  • 资源 (24)
  • 收藏
  • 关注

原创 anr原因二:BroadcastQueue

本文基于android9.0源码分析。android出现经常与四大组件有紧密联系,主要有四种情况1、activity界面输入事件超时 2、broadcastReceiver发送以及接收事件超时 3、service处理事务超时 4、contentProvider处理事务超时。在上一篇文章《anr原因一:inputDispatcher》中对输入事件的anr源码进行了分析,本文则对broadcastReceiver产生的anr进行分析。一、发送广播先从发送广播说起吧,执行sendBroad

2021-04-29 17:53:35 862 1

原创 anr原因一:inputDispatcher

android出现经常与四大组件有紧密联系,主要有四种情况1、activity界面输入事件超时 2、broadcastReceiver发送以及接收事件超时 3、service处理事务超时 4、contentProvider处理事务超时。先透露一下,anr弹框最终会调用ProcessRecord的appNotResponding方法,搜索源码发现有四个地方调用了ProcessRecord.appNotResponding方法,这也验证了上面的说法。本文只分析activity相关的inputDisp

2021-04-23 15:49:18 2831 1

原创 AccessibilityService事件输入源码

android底层Input事件传递流程一文从源码角度介绍了android底层输入事件的来源与分发,那么本文就专门介绍下无障碍服务的来源与分发。本文基于android9.0源码进行分析,从AccessibilityService绑定到系统服务以及系统服务发送事件消息给AccessibilityService两个过程来分析。1、服务绑定在无障碍服务和悬浮框一文中介绍了应用层实现无障碍服务的一个例子。我们知道应用层要实现无障碍服务首先要创建一个AccessibilityService的子类,并在这个子类

2021-04-21 19:42:37 1351 1

原创 android底层Input事件传递流程

在android事件分发机制一文中介绍了Touch事件的分发,那么Touch事件从哪里来的呢?本文基于android9源码进行分析。一、IMS首先,触摸事件肯定需要驱动去接收,android是在/dev/input节点获取事件。由于WindowManagerService.java(后面简称WMS)负责界面窗口的管理,既然是屏幕事件那么肯定和WMS有关了,WMS是在SystemServer.java的startOtherServices方法中启动的,WMS的构造参数有InputManagerSe

2021-04-16 15:22:35 1230 1

原创 ERROR:STATUS_BROM_CMD_SEND_DA_FALL(0xC0060003)

昨天使用mtk工具SP_Flash_Tool_exe_Windows_v5.2052.00.000刷机失败,提示ERROR:STATUS_BROM_CMD_SEND_DA_FALL(0xC0060003)。上网搜了下,有如下回答1、手机驱动安装不完全我电脑安装驱动精灵和驱动人生扫描驱动,但是并不需要更新,所以不是驱动问题2、windows10电脑不兼容,我的异地同事也是windows10电脑并且使用的是相同版本的SP_Flash_Tool工具,他却可以,所以也不是版本的问题3

2021-04-08 19:40:48 13490 5

原创 RxJava(被)观察者创建与线程调度

本文使用rxjava2版本进行讲解:implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'implementation 'io.reactivex.rxjava2:rxjava:2.1.8'0、 代码实例//被观察者Observable observable= Observable.create(new ObservableOnSubscribe<String>() { @Override public v

2021-04-03 18:06:18 437

2005-2021信息系统项目管理师历年真题(含上午题、案例分析、论文)试题和答案.7z

2005-2021信息系统项目管理师历年真题(含上午题、案例分析、论文)试题和答案

2021-08-03

aspectj-1.9.6.jar.7z

aspectj-1.9.6.jar.7z

2021-06-25

Camera2Demo2.7z

YUV_420_888是YUV_420的一个大类,android camera2的ImageReader中设置了YUV_420_888后具体返回数据U和V是单独处于不同平面还是相同平面交叉排列要看具体的设备了,一般来说pixelStride=1表示独占一个平面(一般Y平面就只有Y数据),pixelStride=2则表示U和V是交叉排列。 最近工作中发现ImageReader设置了特定尺寸后,实际返回的数据并不是之前设定的尺寸。

2020-08-20

Android.mk编译内置无源码apk

有个编译好的第三方apk,合入到系统中,在packages\apps目录创建文件夹wukong,将第三方wukong.apk拷贝到wukong文件夹下,并在wukong文件夹创建Android.mk

2020-08-18

python-3.8.3.exe.7z

python安装包,适用于为windows,32位和64位都兼容,

2020-06-15

androidqzt_downcc.com.zip

android中设置字体库 Typeface typeFace = Typeface.createFromAsset(this.getAssets(), "fonts/xx.ttf"); textView.setTypeface(typeFace); textView.setText("帅气");

2019-09-18

factory.zip

阅读设计模式之禅以及大话设计模式,写个demo加深印象,可以参考作者文章原 《简单工厂模式、工厂方法模式和抽象工厂模式》https://blog.csdn.net/u013795543/article/details/100173672

2019-08-31

OPENGL ES 3.0编程指南 原书第2版 中文版.7z

android OpenGL ES学习必备书籍,从基本到三角形四边形绘制到离屏渲染应有尽有,很适合零基础入门

2019-07-12

framework.jar

android源码编译后生成的./out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar,可以作为android引用库

2018-09-17

android自定义View扫描人脸效果

本文利用SrcIn实现一个人脸扫描的效果,步骤如下: 1、准备两个人脸照片(一明一暗),暗照片作为背景,亮照片作为src前景显示 2、然后通过SrcIn用一个透明矩形框(Dst)与亮照片(src)取交集即可得出一个亮照片的局部区域 3、再给透明矩形一个上下的速度,即可达到扫描的效果

2018-08-04

android自定义View之气球碰撞效果

算法步骤: 1、小球数量ballCount,可以设个最大值,在这个阈值内去随机数 2、小球圆心随机坐标(mX,mY)以及半径radius 3、小球在x方向和y方向的随机速度mSpeedX,mSpeedY 4、本次效果小球默认白色,通过alpha设置透明度,实际你们也可以通过随机颜色值达到五彩频繁的小球效果。 5、初始时给每个小球一个初始随机位置(不能超出屏幕)以及初始随机速度。 6、每个一段时间计算一下小球位置并刷新一下界面,当小球到达屏幕边沿则速度设为当前相反数达到反弹的效果。

2018-07-14

android加载大图

故事要从一场面试说起,当问到如何加载一个大图而不会发生OOM,这里有两种途径,一、降采样大图;二、局部加载大图 由于android内存的限制,andoid系统给每个应用分配的内存是有限的,当直接加载一个占用内存加大的图片时就会发生OOM. 一、降采样大图 主要是利用BitmapFactory.Options对象的inSampleSize参数,根据空间尺寸与大图尺寸的比率来缩小大图,从而显示大图的缩略图。 二、局部加载大图 主要利用BitmapRegionDecoder类的decodeRegion方法来加载局部区域,通过重写View的onTouchEvent方法监听手指滑动事件,更新显示区域。

2018-07-02

高通烧写软件

软件太大,存到百度云,附件是下载链接 高通烧写系统最坑,这就需要拼手速啦,准备好系统刷机包 1、软件安装以后,找到安装目录,双击.\Qualcomm\QPST\bin\QFIL.exe打开工具 2、工具主界面Select Build Type有两个选项(Flat Build和Meta Build),在不知道选择哪种烧写类型时先选择Flat Build试试吧,不行再换Meta Build 3、工具主界面Select Programmer选择.elf文件 4、工具主界面点击”LoadXML“选择xml文件,此时”Download"按钮不可以点击 4、手机关机,同时按音量上键、下键和开机键后通过usb连上电脑,此时电脑上会显示手机端口并且”Download"按钮可以点击,点击”Download"按钮后看到下面Status栏开始烧写了,迅速松开音量上键、下键和开机键

2018-06-06

展讯烧写工具

sprd烧写系统相对于qcom简单一些,比mtk稍微复杂,准备好系统刷机包 1、双击.\Bin\ResearchDownload.exe打开工具 2、工具主界面点击左上角第一个按钮“Load packet”选择pac展讯rom包 3、pac包load完成后,点击“Start downloading"按钮 4、手机关机,同时按音量下键和开机键(有些手机是音量上键和开机键)后通过usb连上电脑自动开始烧写

2018-06-06

mtk系统烧写工具

mtk烧写系统相对于sprd和qcom简单一些,需要准备好系统刷机包 1、双击./SP_Flash_Tool_exe_Windows_v5.1744.00.000/flash_tool.exe打开工具 2、工具主界面的Download-Agent一栏维持默认(.\SP_Flash_Tool_exe_Windows_v5.1744.00.000\MTK_AllInOne_DA.bin),不用手动选择了 3、Scatter-loading File一栏需要你手动选择刷机解压包里的scatter.txt文件 4、下面选择“Firmware Upgrade" 5、手机关机,通过usb连上电脑,点击“Download"开始烧写

2018-06-05

开发工具jdk1.9第4部分

拓展了javafx.scene.control包,如增加了javafx.scene.control.Alert等类 源文件384M,分为4部分上传

2017-11-12

开发工具jdk1.9第3部分

拓展了javafx.scene.control包,如增加了javafx.scene.control.Alert等类 源文件384M,分为4部分上传

2017-11-12

开发工具jdk1.9第二部分

拓展了javafx.scene.control包,如增加了javafx.scene.control.Alert等类 源文件384M,分为4部分上传,cdsn强制每个资源要2分,操蛋

2017-11-12

开发工具jdk1.9第1部分

拓展了javafx.scene.control包,如增加了javafx.scene.control.Alert等类 源文件384M,分为4部分上传,其他部不要资源分额

2017-11-12

Handler,Looper和Message

Handler,Looper和Message的理解和练习

2017-08-04

ViewPager和Fragment的简单使用

ViewPager和Fragment的简单使用

2016-12-09

EventBus demo

实现service和activity之间的消息传递

2016-10-15

Sercie的aidl学习

Sercie的aidl学习

2016-10-11

Service基础学习笔记

个人学习笔记,仅供参考

2016-10-10

空空如也

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

TA关注的人

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