自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发基础知识补全和CAS基本原理学习总结

1、新启线程的到底有几种方式? 两种 extends Thread 实现Runnable Callable 严格说也是实现Runnable 通过FutureTask交给Thread2、线程的生命周期。/状态 创建状态(初始化) 就绪/运行中 等待/等待超时 synchronized 阻塞态 终止/结束态 阻塞是被迫进入的状态 等待是主动进入的状态3、死锁和更多的并发安全。 两个或两个以上的进程执行过程中,竞争资源或者彼...

2020-09-08 18:01:45 914

原创 Bsdiff实现增量更新学习记录

增量更新 也叫差分升级,通过某种算法,找出旧包和新包不一样的地方,然后生成差分包,这样用户下载的时候不需要下载完整大小的包到手机,只需要下载差分包,然后将差分包和本地的安装包合并成新的安装包,文件校验后安装。bsdiff old.apk new.apk patch.apkbspatch old.apk new.apk patch.patchCMakeLists.txt调动JNI的差分包合成的工具类public class BsPatchUtils {...

2020-09-04 14:58:04 249

原创 Dalvik VM进程系统浅析学习记录

1.Android启动流程Boot Rom Boot loader Kernel init zygote SystemserverLancherinit main函数init.rc(Action Command Service Options service解析流程)1)启动一系列守护进程2)zygote (fork zygote的进程)SystemServer 开启一系列的服务 AMS WMS PKMS PMS 。。。80多个...

2020-09-03 19:29:25 166

原创 线程与进程理论知识学习1

CPU核心和线程数的关系以前是一个核心一个线程现在超线程技术 一个核心 两个线程1、基础概念 进程:操作系统管理的最少单元 线程:CPU调度的最小单元 一个进程包含多个线程 CPU时间片轮转机制 一种调度算法RR调度 并行和并发 并行:几条路同时过 并发:10秒钟,服务器的吞吐量 高并发编程意义、好处 1、冲分利用CPU资源 2、加快用户响应时间 3、提高代码的模块...

2020-09-03 10:01:17 103

原创 利用反射、注解、动态代理实现,onClick的注入

@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface OnClick { int[] value();}@OnClick({R.id.tv1,R.id.tv2})public void onClick(View view){switch (view.getId()) {case R.id.tv1 :...

2020-08-31 19:25:58 460

原创 进程间通信机制 Binder原理学习总结2

一.如何启动service_manager服务ServiceManager管理系统服务 AMS PMS(binder)1.binder_open打开驱动,内存映射设置128K2.binder_become_context_manager设置SM为大管家(守护进程) 1.创建binder_node结构体对象 2.proc->binder_node BBinder 3.创建work 和todo队列 -》类似messageQueue3.binder_loop...

2020-08-28 09:54:41 128

原创 Java高级语言特性,注解与反射学习总结

1、注解的定义与使用场景注解本身没意义,单独就是一种注释,需要结合反射、插桩才有意义元注解:注解上的注解target限制注解的地方ElementType.ANNOTATION_TYPE 可以应用于注解类型。ElementType.CONSTRUCTOR 可以应用于构造函数。ElementType.FIELD 可以应用于字段或属性。ElementType.LOCAL_VARIABLE 可以应用于局部变量。ElementType.METHOD 可以应用于方法级注解。Ele..

2020-08-27 15:10:39 135

原创 进程间通信机制 Binder原理学习总结1

1.为什么Binder会在面试中经常被问道?Binder到底是什么?Binder是一种进程间通信机制 也是一个驱动Binder.java 实现IBinder接口可以具备跨进程的能力2.Android为何如此热衷于Binder,他相对于其他进程间通信有什么优缺点?Binder 共享内存 socket的比较:性能方面:Binder只需拷贝1次 共享内存无需拷贝 socket需要拷贝2次特点:Binder基于C/S架构 易用性高 共享内存 控制复杂,易用性差 soc...

2020-08-26 11:18:35 145

原创 Handler学习记录总结

launcher:点击触发zygote >分配JVM(进程)给应用(应用挂掉,不影响其他引用,独立)>执行activityThread main函数(初始化环境,创建主线程独有的looper,looper.prepareMainLooper)>looper.loopandroid代码都是handler管理的,线程通信只是一个很小的功能handler工作机制:handler.sendMessage> handler.sendMessageDelayed >hand

2020-08-24 15:04:18 140

原创 JAVA泛型学习记录

泛型:1、主要是编译期检测类型是否错误 2、增加代码复用性泛型类 class<T>泛型接口 interface<T>泛型方法 <T> void test(T t)泛型类继承 class A<T> extendsclass B<T> class C implements class B<String>类型参数VS类型实参...

2020-08-20 17:20:42 108

翻译 Android屏幕适配笔记

1.布局适配(1)布局自适应屏幕尺寸(使用相对布局Relativelayout)(2)根据屏幕配置加载对应的布局,使用限定符(尺寸丶最小宽度丶布局别名)2.布局组件适配(weight)3.图片资源(多套UI图,.9图)4.用户界面适配(根据手机配置,加载布局的时候,对布局进行修改)5.百分比适配(weight只能依赖linearlayout)某控件在屏幕占有百分之多少的位置,可以使用Android...

2018-04-12 10:32:03 93

转载 Androd动态替换应用图标

动态替换应用图标主要针对一些节日活动,图标被动态替换,比如:某某APP双11。废话不多说,直接上干货!首先需要在功能清单文件里面配置对应的替代activity,只是作为一个导向,实际打开的还是以前的!<application android:allowBackup="true" android:icon="@mipmap/icon" android:la

2017-01-05 10:55:52 291

空空如也

空空如也

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

TA关注的人

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