自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 编译Android14 AOSP记录

编译android14 aosp

2024-09-27 16:07:41 1153

原创 线程池解析

ThreadPoolExecutor threadPool = new ThreadPoolExecutor( 5,//核心线程数,即使空闲时也会被保留:建议使用《CPU核心数*2》设置为线程数量 10,//最大线程数量,当任务缓存的超过BlockingQueue时,再次启动指定线程执行任务。 50,//线程空闲下存活多久 TimeUnit.SECONDS,//存活时间的单位 new ArrayBlockingQueue<Runnable>(5),//阻塞队列,任务超过核心线程数后,会

2021-03-13 17:11:03 254

原创 LeakCancary源码分析

if (!LeakCanary.isInAnalyzerProcess(this)) { LeakCanary.install(this);}public static RefWatcher install(@NonNull Application application) { return refWatcher(application) .listenerServiceClass(DisplayLeakService.class) .excludedRefs(Andro

2020-11-15 14:18:53 278

原创 Android事件分发代码流程分析

Android事件传递Android事件传递流程伪代码第一步/** * Activity#dispatchTouchEvent分发事件 */public boolean dispatchTouchEvent(MotionEvent ev) { //调用PhoneWindow分发事件。->第二步 if (getWindow().superDispatchTouchEvent(ev)) { return true; } //返回false 表示所有View都不处理该事件,交给

2020-10-27 13:37:04 202

原创 自定义View(onMeasure个人理解)

onMeasure方法是View的方法,主要用于测量View大小。onMeasure方法有两个参数,分别是View宽和高的MeasureSpec。protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) MeasureSpec是View中的内部类,是二进制运算,由于int是32位的,用高两位表示mode,低30表示size。MeasureSpec.getMode(widthMeasureSpec);//通过Me

2020-07-21 14:25:45 222

原创 线程知识点整理

线程的概念线程和进程的区别进程:系统分配资源的最小单位,一个进程里最少有个一个线程线程:CPU调度的最小单位并发和并行:线程的启动方式new ThreadRunnable接口Callable接口线程的方法线程的状态线程安全问题锁的种类synchronizedsynchronized(内置锁)属于可重入锁,默认是非公平锁。synchronized的缺点1:获取锁后,无法中断。2:无法尝试获取锁,取不到时只会一直等待锁。对象锁与类锁1:锁某个对象或者当前当前类的实例2:类

2020-06-02 13:27:38 352

原创 JVM学习笔记(二)

栈:栈中的生命周期是跟随线程,所以一般不需要关注堆:堆中的对象是垃圾回收的重点方法区/元空间:这一块也会发生垃圾回收,不过这块的效率比较低,一般不是我们关注的重点堆内存的划分GC判断对象存活引用计数算法:JVM早期使用,相互引用,很难判断是否该回收可达性分析:GC root强软弱虚...

2020-03-08 22:11:26 134

原创 JVM学习笔记(一)

运行时数据区线程共享内存区域方法区(运行时常量池):类信息、常量、静态变量、即时编译期后的代码堆内存:对象实例(几乎所有对象)、数组线程私有内存区域程序计数器:指向当前线程正在执行的字节码指令(CLASS)的地址(行号)。为什么需要程序计数器?因为Java是多线程,切换线程时需要记录线程所执行的位置,以便于切换回来时可以正常执行。为什么JVM使用栈?栈(Stack):出口和入口是一...

2020-03-08 22:11:07 140

原创 Flutter学习(一:Mac配置环境变量)

配置flutter环境变量下载Flutter SDKflutter官网下载地址配置Flutter环境变量打开终端、cd ~(cd到根目录下)touch .bash_profile(在没有.bash_profile时会进行创建)open -e .bash_profile(以文本的形式打开文件)在打开的文件中添加export PATH=${PATH}:/xxx/xxx/flutter...

2019-11-28 12:13:50 210 1

原创 Flutter学习(三:方法、异常、类)

方法可选位置参数

2019-11-28 12:13:36 1683

原创 Flutter学习(二:变量、内置类型、操作符)

变量Flutter中没有基本数据类型,全部为Object类型,所以未初始化的变量值为null。ObjectObject是所有类的基类,Object声明的变量可以是任意类型。int、String、bool等等都是Object类型。Object obj = "变量";Object i = 1;i = true;i = "sss";varvar关键字:在声明变量赋值时决定它的类型(...

2019-11-28 12:13:19 1166

高亮手电筒源码

这是一款高亮手电筒源码,很简单实用,大家一起学习吧

2014-05-30

空空如也

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

TA关注的人

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