自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KeyGuardService注册流程记录

KeyGuardService注册流程:PhoneWindowManager --> PhoneWindowManager: systemBooted()PhoneWindowManager --> PhoneWindowManager: bindKeyguard()PhoneWindowManager -> KeyguardServiceDelegate: bindService(context)KeyguardServiceDelegate --> KeyguardSer

2022-03-13 23:44:50 220

原创 AQS的原理和使用

什么是AQSAbstractQueuedSynchronizerAQS使用方式AQS基于的设计模式模版模式:具体实现交给子类去实现AQS其中的方法实现一个类似于ReentrantLock的锁

2020-10-08 15:39:54 193

原创 多线程

线程和进程的区别进程:系统运行的一个应用线程:应用中的一个任务进程要大于线程,一个进程至少一个线程 或 多个线程如果一个进程,还有一个线程没有杀掉还存活,那么进程还存活(线程依附进程)并行和并发并行:多个线程同时执行并发:10秒钟,服务器的吞吐量线程的状态分为六种初始(new):新建一个线程,还没有调用start方法运行(runnable):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用

2020-05-21 23:38:11 156

原创 注解和反射

注解的定义注解本身没有任何意义,单独的注解就是一种注释,它需要结合其它如反射、插桩等技术才有意义Java注解又称Java标注,是jdk1.5引入的一种注释机制。是元数据的一种形式,提供有关于程序但不属于程序本身的数据。注解对它们注释的代码的操作没有直接影响元注解自定义注解上的注解,下面代码里的@Target和@Retention就是元注解@Target({ElementType.TY...

2020-05-05 16:55:21 141

原创 Java泛型

1.为什么使用泛型比如:一个集合不指定类型你实际是想添加String类型,但是一不小心加了一个Integer类型进去,假如这时需要遍历取出所有数据,取出来的值你都赋给了一个string类型的变量,遍历到那个Integer数据时,程序会抛出ClassCastException的异常,这是运行时异常,如使用了泛型可以在编译器,在你添加那个Integer数据时就报错告诉你类型不对不可以往里面添加,可以...

2020-04-29 02:42:30 88

原创 Lodding自定义动画

##### 思路:在圆心正上方画一个点,然后画布旋转36度角依次画10个点,同时添加透明度和圆点大小逐渐变小,这样所有的点就画好了,接下来就是让动画转起来,通过count变量来标记旋转的次数来设置每次onDraw时旋转的角度并且再重新绘制所有的小圆点,因为onDraw设置了postInvalidateDelayed每100毫秒执行一次,从而达到转圈的效果public class LodDingV...

2020-02-14 22:14:45 172

原创 room 数据库

第一步:添加Room库依赖dependencies { //room implementation 'android.arch.persistence.room:runtime:1.1.1' annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'}第二步:创建Dao@Daopu...

2020-01-20 22:52:58 183

原创 应用拉起其他应用

拉起其它应用主界面PackageManager packageManager = getBaseContext().getPackageManager(); Intent intent = packageManager.getLaunchIntentForPackage(PACKNAME); startActivity(intent...

2020-01-01 22:58:08 346

原创 Handler机制运行原理和使用

Hanlder机制中的四个重要概念Handler : 对消息的处理Message : 子线程像主线程发送消息时,用于携带数据MessageQueue :消息队列,存放Message的一个集合Looper : 循环从MessageQueue 中取出Message,将其发送给handler工作流程主线程会自动创建Looper和MessageQueue, 创建Handler对象,在子线程...

2019-07-21 22:44:23 188

空空如也

空空如也

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

TA关注的人

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