首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
gdeer4509
掘友等级
Android
关注
私信
获得徽章 0
动态
文章
专栏
沸点
收藏集
1
关注
赞
1
文章 1
沸点 0
资讯 0
赞
1
关注
返回
|
搜索文章
文章
热门
最新
gdeer4509
3年前
gradle
Gradle 理解:incremental task
当输入改变时,可以只处理改变的部分。一个 incremental task 需要实现一个 incremental task action。 一个被 @TaskAction 注解的方法,它接收一个 IncrementalTaskInputs 参数。可以在 IncrementalT…
1404
点赞
2
gdeer4509
3年前
Android
为什么 Dialog 不能用 Application 的 Context
可以看到,异常说 attr.token 不是一个 app 的 token,attr 是 setView 方法的参数,是一个 WindowManager.LayoutParams 对象,WindowManger.LayoutParams 继承了 ViewGroup.LayoutP…
1656
点赞
评论
gdeer4509
3年前
gradle
Gradle 理解:configuration、dependency
不同的 configuration 用来引用不同领域(或不同用途)的 dependencies。 如:implementation、api、testRuntime。 或者说 configuration 用来管理一批 dependencies。 一个 configuration …
6469
7
1
gdeer4509
3年前
gradle
Gradle 理解:Artifact
翻译为:构件、工件。 代表的是一个领域对象,它包含了一个要被发布的文件,和它怎样被发布的信息。(如一个 jar 文件和它的 pom 文件。) Gralde 的 base plugin 会给 project 中的每个 configuration 都生成一个 build「Confi…
3712
1
评论
gdeer4509
3年前
Java
Java 中的锁:悲观锁、乐观锁、自旋锁、偏向锁、公平锁、可重入锁、独享锁...
因为执行的操作不是原子操作。 A 线程的操作执行到一半,中间插入 B 的操作,那 A 的执行结果就可能有问题。 如果 A、B 的操作都是原子操作,那就不会有问题。 concurrent 包的原子类,就是将非原子操作变为了原子操作。 这个原子操作,就是 CAS。 CAS,即 Co…
349
点赞
评论
gdeer4509
3年前
Android
MotionLayout 的使用
MotionLayout 是 ConstraintLayout 的子类。 每个 MotionLayout 需引用一个 MotionScene,其中包含相应布局的所有运动描述。 <Transition> 包含运动的基本定义。 <OnSwipe> 包含运动行为的定义。 起点的「si…
836
点赞
评论
gdeer4509
3年前
Java
Java 获取泛型对象的参数类型
由于类型擦除,java 中的泛型对象在运行时是不知道自己类型参数的类型的。
4655
1
评论
gdeer4509
3年前
设计模式
设计模式:工厂方法模式与抽象工厂模式
着重于方法,一个工厂只有一个方法,生产一种产品。 简单工厂:去除抽象类,只保留一个具体工厂类。 多工厂:去除类型参数,根据每个参数产生一个具体工厂。 着重于工厂,一个工厂有多个方法,生产多种产品。 RequestFactory 是一个简单工厂,工厂中又使用了构建者模式(requ…
247
点赞
评论
gdeer4509
3年前
Retrofit
Retrofit 源码解析
这个类型,要么是 Call<>,要么是 Call<> 的代理类。如 Call、Observable CallFactory、List<CallAdapter.Factory>、List<Converter.Factory> 在 Retrofit 对象创建时生成。 Request…
176
点赞
评论
gdeer4509
3年前
Android
ARouter 源码解析
其中的 Provider 类似于一个方法,用于提供一种服务。
828
1
评论
下一页
个人成就
文章被点赞
32
文章被阅读
50,244
掘力值
826
关注了
0
关注者
9
收藏集
1
关注标签
2
加入于
2016-06-24