首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
夕阳下的奔跑
掘友等级
Android
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
90
文章 90
沸点 0
赞
90
返回
|
搜索文章
最新
热门
Dagger2——基础用法的生成类
它实现了Factory接口,并实现了get()方法,用于返回一个BMW对象,其中提供了两个静态方法,用于提供构造BMW需要的参数。 它实现了Factory接口,并实现了get()方法会返回一个IWheel对象。而provideBMWWheel是一个静态方法,用于提供IWheel…
Dagger2(1)——基本使用
dagger2是一个依赖注入框架,通过编译时生成代码来确保简单,可追溯,以及高性能。 依赖的注入和配置独立于组件之外。 因为对象是在一个独立、不耦合的地方初始化,所以当注入抽象方法的时候,我们只需要修改对象的实现方法,而不用大改代码库。 依赖可以注入到一个组件中:我们可以注入这…
ASM实现findViewById
定义一个控件,确保它的名称和xml中的id一致,然后通过ASM代码插入的方式实现控件查找。 aapt编译资源后会生成Rattr.class, R$id.class...
CC跨进程调用的实现
CC通过自定义ContentProvider实现跨进程通信,每个应用在AndroidManifest.xml中定义好provider。 exported为true,表明可跨进程调用。 RemoteCursor继承了MatrixCursor,是用于跨进程通信的游标,通过b…
组件化框架——CC
CC中最基础的概念是IComponent(https://qibilly.com/CC-website/#/manual-IComponent),任何组件需要暴露给外部调用的能力都需要实现这个接口。因为CC支持跨app进行组件化调用,所以整体的结构图可以如下所示: 每个…
ARouter-几种APT生成的类
这个类实现了IRouteRoot接口,记录了所有的分组信息,通过group名称,可以找到对应group下 所有的路由信息。如demo中的例子: 通过区分group可以实现路由表的懒加载,只有用到某个group时才将它下面的所有路由信息加载到内存中,减少初始化的时间和内存…
ARouter-初始化
初始化主要是指如何将APT生成的路由类,拦截器类和服务提供类注册到内存中,供运行时使用。 ARuter提供了两种方式,分别是gradle插件自动注册和扫描dex文件。 通过ASM代码扫描和插入,实现了路由和服务的自动注册。 如果没有使用gradle插件实现自动注册,那么AR…
java枚举类
java枚举类:javap-pAnimal.class:Animal继承Enum每个枚举值都是静态变量javap-cAnimal.class在static代码块中会对每个枚举值进行初始化$VALUES
ASM动态创建类
动态创建类:在Transform中进行创建类运行时使用该类Android中不能在运行时动态创建类:因为创建类之后,ClassWriter生成的byte[],不能被自定义的ClassLoader加载
AspectJ实现无侵入图片加载监控
使用沪江开源的aspectjxhttps://github.com/HujiangTechnology/gradle_plugin_android_aspectjx监控ImageLoader找到切入点
下一页
个人成就
文章被点赞
53
文章被阅读
55,780
掘力值
1,289
关注了
67
关注者
22
收藏集
21
关注标签
30
加入于
2016-10-30