android
Nivze
这个作者很懒,什么都没留下…
展开
-
KeyGuardService注册流程记录
KeyGuardService注册流程:PhoneWindowManager --> PhoneWindowManager: systemBooted()PhoneWindowManager --> PhoneWindowManager: bindKeyguard()PhoneWindowManager -> KeyguardServiceDelegate: bindService(context)KeyguardServiceDelegate --> KeyguardSer原创 2022-03-13 23:44:50 · 229 阅读 · 0 评论 -
多线程
线程和进程的区别进程:系统运行的一个应用线程:应用中的一个任务进程要大于线程,一个进程至少一个线程 或 多个线程如果一个进程,还有一个线程没有杀掉还存活,那么进程还存活(线程依附进程)并行和并发并行:多个线程同时执行并发:10秒钟,服务器的吞吐量线程的状态分为六种初始(new):新建一个线程,还没有调用start方法运行(runnable):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用原创 2020-05-21 23:38:11 · 167 阅读 · 0 评论 -
注解和反射
注解的定义注解本身没有任何意义,单独的注解就是一种注释,它需要结合其它如反射、插桩等技术才有意义Java注解又称Java标注,是jdk1.5引入的一种注释机制。是元数据的一种形式,提供有关于程序但不属于程序本身的数据。注解对它们注释的代码的操作没有直接影响元注解自定义注解上的注解,下面代码里的@Target和@Retention就是元注解@Target({ElementType.TY...原创 2020-05-05 16:55:21 · 150 阅读 · 0 评论 -
Lodding自定义动画
##### 思路:在圆心正上方画一个点,然后画布旋转36度角依次画10个点,同时添加透明度和圆点大小逐渐变小,这样所有的点就画好了,接下来就是让动画转起来,通过count变量来标记旋转的次数来设置每次onDraw时旋转的角度并且再重新绘制所有的小圆点,因为onDraw设置了postInvalidateDelayed每100毫秒执行一次,从而达到转圈的效果public class LodDingV...原创 2020-02-14 22:14:45 · 185 阅读 · 0 评论 -
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 · 200 阅读 · 0 评论 -
应用拉起其他应用
拉起其它应用主界面PackageManager packageManager = getBaseContext().getPackageManager(); Intent intent = packageManager.getLaunchIntentForPackage(PACKNAME); startActivity(intent...原创 2020-01-01 22:58:08 · 356 阅读 · 0 评论 -
Handler机制运行原理和使用
Hanlder机制中的四个重要概念Handler : 对消息的处理Message : 子线程像主线程发送消息时,用于携带数据MessageQueue :消息队列,存放Message的一个集合Looper : 循环从MessageQueue 中取出Message,将其发送给handler工作流程主线程会自动创建Looper和MessageQueue, 创建Handler对象,在子线程...原创 2019-07-21 22:44:23 · 194 阅读 · 0 评论