首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
散人丶
掘友等级
Android
|
散人丶
无~~
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
33
文章 33
沸点 0
赞
33
返回
|
搜索文章
最新
热门
View.post为什么可以拿到View的宽高?
再次回到主题,那为什么View.post(),就可以获取到准确的值呢,不妨猜测一下,首先整体上思考一下,想要实现知道准确的宽高,那就是post的Runnable那肯定是在View整个绘制流程结束之后才执行的,主线程又是基于Looper的消息机制的,如果把Runnable直接作为…
事件分发机制(二):源码篇
本篇就基于上篇的知识上,跟着大家走一波事件分发的源码,这样可能大家能够更理解下源码. 代码比较简单,事件从Activity向下分发,如果事件被消费,直接返回True,如果都没有处理消费,只能由自己onTouchEvent自己处理,由此可见,整体事件分发机制就是类似一个U字型的流…
事件分发机制(一):解惑篇
本文粗略解析下事件分发机制,后续会分析下源码,希望能够帮助到大家解惑一二。 同一时间序列事件是指以down事件开始,中间含有数量不定的move事件,最终以up事件结束。 如果ViewGroup拦截了一个半路的事件(比如,MOVE),这个事件将会被系统变成一个CANCEL事件,并…
重走JAVA之路(七):你要的JAVA内存结构
程序计数器属于内存中比较小的一块空间,属于线程私有的,其作用可以大概理解为记录当前线程所执行的字节码位置,或者通俗来说可以理解为代码执行到第几行了,为什么需要这么一小块空间做这种事情呢,因为JVM的多线程操作实际上并不是真正意义上的并行,是通过线程轮流切换并分配CPU执行时间片…
重走JAVA之路(六):你应该要知道的线程调度
作为Android开发者,老实说,平常关于一些线程调度的方法,用的确实不多,可能用的最多的也就是sleep作为一个休眠延时的操作,但是既然是Java之路,那就必须把那些东西拎出来说一说了,也是加强大家对线程的理解程度以及在处理线程中应该注意的问题。 如果一个线程调用了wait方…
重走JAVA之路(五):面试又被问线程池原理?教你如何反击
corePoolSize:核心线程的数量,默认不会被回收掉,但是如果设置了allowCoreTimeOut为true,那么当核心线程闲置时,也会被回收。 有的朋友可能还不是很清晰,举个例子,一个公司,核心线程就是代表公司的内部核心员工,最大线程数量就是员工的最大数量,可能包含非…
重走JAVA之路(四):ThreadLocal源码解析
说起ThreadLocal大家应该有种很熟悉的感觉,但是又好像不知道是干啥用的,第一次接触它还是在Looper的源码中,每次获取Looper对象是,通过ThreadLocal的get方法获取到当前线程的Looper对象,有兴趣的可以看看之前的文章Android源码学习之hand…
重走JAVA之路(三):你逃不掉的动态代理
说道代理大家应该都很熟悉,在日常生活中也有很多例子,比如当我们无法对真实目标无法直接访问时,需要一个代理替代我们去做这些事情,比如国内如果要访问google网站,一般就需要翻墙了,这就是一种代理模式。 Activity不用注册?那就来Hook吧,今天详细说明下动态代理中的细节地…
重走JAVA之路(二):面试中的单例模式(从入门到放弃)
这种写法,不能确保你的实例是在调用getInstance方法时生成的,因为类的加载机制是在可能需要使用到这个类的时候就加载(比如其他地方引用到了这个类名等等),不清楚的可以看下上篇文章 静态变量的生命周期,所以这种也不能达到懒加载的效果。 单例的枚举实现在《Effective …
重走JAVA之路(一):复盘ButterKnife-编译时注解
其实一直想写这么个系列,虽然Android开发大部分是基于Java语言的,但是日常开发中基本涉及的都比较简单,当遇到一些疑难杂症的时候,很难去找到根因,本系列就针对一些平常开发比较少涉及的JAVA点,比如、注解、代理、并发等等,希望能帮到一些朋友重新巩固下基础知识。 今天我们主…
下一页
个人成就
文章被点赞
666
文章被阅读
114,099
掘力值
3,494
关注了
7
关注者
2,074
收藏集
1
关注标签
6
加入于
2019-01-06