首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
夕阳下的奔跑
掘友等级
Android
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
92
文章 92
沸点 0
赞
92
返回
|
搜索文章
最新
热门
NestedScrollView与FrameLayout区别
NestedScrollView与FrameLayout区别!!!!!!!!!!!!!!!!!!!!
Glide加载流程3——数据处理
重新调度只会发生在加载数据的阶段,所以设置runReason为RunReason.SWITCH_TO_SOURCE_SERVICE,并且调用callback的reschedule方法,而这个callback是EngineJob实现的(DecodeJob的创建逻辑在Engine中…
Glide加载流程2——磁盘缓存加载细节
其中的流程与具体的判断细节有关,可能会发生变化。 流程与上述相似,从步骤2开始,只是第8步不会将转换过的数据缓存到本地。 流程从第3步开始,第8步不会将转换过的数据缓存到本地。 从上面的流程看,请求的原始数据都会保存到本地,使得整个流程能运转起来,因为除了DiskCacheSt…
Glide加载流程1——缓存加载流程
ActivityResources是一个资源管理类,将当前正在使用的资源进行了保存(用WeakReference持有资源,并保存到Map中)。 从MemoryCache中获取缓存,如果有,则放入给该资源引用计数加1,并放入ActivityResources中。 其中的SWITC…
Dagger2——Binding Instances
如果要在构建Component时动态传参,那么需要在Component的builder中添加一个方法并用@BindsInstance标注,这样就能够向Component中注入实例。 显然,两次打印的对象是同一个,说明通过@BindsInstance注入的外部对象实例已经通过Mo…
Dagger2——Optional bindings
java中提供了Optional用来解决空指针异常,它包裹的对象可能是空,使用时需要调用Optional.isPresent()方法判断内部的实例是否为空。Dagger2提供了@BindsOptionalOf注解用来注入Optional类型的变量。 所以如果T类型的依赖能够在C…
Dagger2——Qualifiers
Dagger2中的组件中不能有相同类型的提供者:@Inject标注的构造函数和module中标注的@Provides的方法,否则就会出现依赖迷失的错误。通过使用Qualifier可以实现提供相同类型的不同实例。 具体的用法:使用@Named标记需要注入的实例;使用@Named标…
Dagger2——Lazy injections,Provider injections
有时候,某些对象需要被懒加载,不用在一开始就创建出来,这样可以减少内存开销以及初始化时间。那么,对于任何的类型T,都可以创建一个Lazy类型的对象,它会在第一次被调用get()方法时返回一个T类型的实例。如果T是一个单例,那么在范围内,所有的注入返回的都是同一个Lazy实例…
dagger2——@Resuable
某些场景下,@Inject构造函数的类实例化的数量或者@Provides方法调用后产生的实例数量需要做限制,同时又不需要保证在整个生命周期过程中,产生的对象都是同一个。在Android里面,这样会很有作用,因为Android的资源有限,内存分配需要很谨慎。 通过使用@R…
dagger2——@Singleton
那么Dagger会保证每次只会使用同一个实例。(@Componet的接口也需要增加@Singleton注解,否则编译会报错)。 可以看到DaggerCarComponent在构造时,会初始化生成一个provideBMWWheelProvider变量,它的作用是为构造BMW的对象…
下一页
个人成就
文章被点赞
51
文章被阅读
44,391
掘力值
1,236
关注了
65
关注者
20
收藏集
19
关注标签
30
加入于
2016-10-30