美文网首页
关于dagger2的生成速度问题

关于dagger2的生成速度问题

作者: 做人要简单 | 来源:发表于2017-11-11 18:10 被阅读53次

前言

关于dagger2怎么使用的技术性文章就不说了,毕竟网上这样的很多

推荐个:
Dagger2从入门到放弃再到恍然大悟

我这里想说的是,大家如果在使用dagger的话 都用的是android studio开发

应该都是用的gradle构建

dagger需要使用DaggerXXXComponent 来inject 实现具体的绑定注入
这个类的不是实时编译的,大家通常都是使用sync gradle 的方式或者make project的方式来生成文件

而dagger虽然sync下gradle就能自动生成类了,但是大家有没有想过,gradle全部同步可能需要的时间会随着项目越来越大,project中的module越来越多而更慢,那么单独同步dagger肯定要快很多,所以这就是我这篇文章的意义所在了

关于gradle构建

gradle构建其中存在的就是各种task,那么生成文件也一定是一个task了
如果sync gradle的话会将很多task都执行一次,而我们只需要执行对应的task生成dagger就可以了,那么怎么单独使用呢

两个方式:一个是命令行,一个是图形化界面

大部分人都比较懒,虽然命令行也许更快,但是咱们还是用AS提供的图形化界面吧

image.png

这里有个gradle,其中就是构件整个项目包含的task了

因为我用的是kotlin语言,所以这里用的是kapt插件生成,而java的话应该是apt或者androidProcessor

我这里用的是kapt插件,找到module对应的名称,然后展开other

image.png

然后输入kapt

image.png

找到了,双击一下,就开始执行了

image.png

这里一般是增量编译,第一次会比较慢,后续就很快了
我的项目首次完整的运行app项目需要3分钟左右,这里单独执行这个task需要1分钟 后续大概在10s左右

写好了一个简单的module和Component


image.png

这个时候还没有生成依赖
接着双击当时的gradle

image.png

发现已经有继承了,这个时候就可以注入代码了

保存task

image.png

在运行那里,点save,保存这个task的快捷方式,接着看图

image.png

这里就发现,暗色变成了亮色,以后就不用再到右边去找了

关于java的方式

这里因为我没有用java写项目,所以不知道java的task名称是什么,不过应该是apt,androidProcessor之类开头的吧,还用java的同学自己尝试下吧

洗个脑

kotlin大法好,快来用吧! 比java感觉舒服很多,主要是省代码量,

不过不得不说其实as中 java的代码提示比kotlin还是要强很多,虽然kotlin是

相关文章

  • 关于dagger2的生成速度问题

    前言 关于dagger2怎么使用的技术性文章就不说了,毕竟网上这样的很多 推荐个:Dagger2从入门到放弃再到恍...

  • Dagger2 — 通过注解实现依赖注入一种方式

    本片文章将介绍Dagger2的作用及使用方式。 什么是Dagger2? Dagger2是在编译时期生成代码实现完整...

  • android dagger2 注入mvp架构

    dagger2简单应用用一个mvp架构来做例子apt编译时生成代码apt自动生成代码 再为dagger2提供注入 ...

  • dagger2 (一)

    研究了下dagger2,现在结合dagger2生成的代码分析下。http://www.jcodecraeer.co...

  • Dagger2 的使用

    Dagger2 的使用 一、Dagger2 是什么 Dagger2是第一个实现用生成的代码实现完整堆栈的库。指导原...

  • Dagger2快速入门

    前言 关于Dagger2的介绍在这里就不多说了,如果对Dagger2的用途和要解决的问题不了解的,可以点这里。这有...

  • 依赖注入框架dagger2的@Scope注解初探(根据生成的源码

    依赖注入框架dagger2的@Scope注解初探(根据生成的源码进行分析) 为了使讨论的问题更加清晰,我将尽可能减...

  • dagger2

    研究dagger2两天,这里结合dagger2生成的代码分析下。 component 是一个接口。 向外暴露获取实...

  • Dagger2依赖注入

    Dagger2,一个依赖注入框架,在编译时处理注解,自动生成.java文件,Mvp架构中使用Dagger2,不需要...

  • dagger2使用入门

    1.什么是dagger2 简单来说,dagger2是一个依赖注入框架,代替你生成实例,管理各种实例的依赖关系的库。...

网友评论

      本文标题:关于dagger2的生成速度问题

      本文链接:https://www.haomeiwen.com/subject/cdqgmxtx.html