首页
AI Coding
AIDP
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
wanderingguy
掘友等级
大前端
|
字节跳动
心向往之,行必能至
获得徽章 12
动态
文章
专栏
沸点
收藏集
关注
作品
赞
121
文章 118
沸点 3
赞
121
返回
|
搜索文章
最新
热门
Android组件化跨进程通信框架Andromeda解析
随着项目结构越来越庞大,模块与模块间的边界逐渐变得不清晰,代码维护越来越困难,甚至编译速度都成为影响开发效率的瓶颈。 组件化拆分是比较常见的解决方案,一方面解决模块间的耦合关系、将通用模块下沉,另一方面做到各模块代码和资源文件的隔离,这样便可以放心进行模块按需编译、单独测试等等…
谈谈Android AOP技术方案
本篇将会对现有的AOP技术做一个统一的介绍,尤其侧重在Android方向的落地,希望对你有所帮助,文中内容、示例大都来自工作总结,如有偏颇不妥,欢迎指正。 这里先统一一下基本名词,以便表述。 切面: 对一类行为的抽象,是切点的集合,比如在用户访问所有模块前做的权限认证。 切点:…
Android ASM框架详解
在上篇文章中,我们以AspectJ为引子介绍了AOP及其设计思想,传送门Android AspectJ详解,我们用AspectJ可以方便的实现一些简单的代码织入,而不需要关心底层字节码的实现,而ASM则偏向底层一些,ASM提供的API完全是面向Java字节码编程,如果你对Jav…
Android Gradle构建优化总结
本文针对gradle官方给出的构建优化方案结合日常开发经验,总结了一些简单实用的方法来提升构建速度。 另外由于目前build apk的瓶颈基本都在transformClassesWithDexBuilderForDebug这个任务(稳定占用build时长的一半),它将所有cla…
Android 函数耗时统计工具之Hugo
在前文Android AspectJ详解中,我们了解了AspectJ的使用场景、特点和基本语法,这篇将从沃神开源的Hugo项目实战分析AspectJ的用法,加深对AspectJ的理解。 Hugo项目是一个调试函数调用耗时的工具,通过对方法或者类添加@DebugLog注解,在运行…
Android AspectJ详解
AOP中的切面比较形象,各个业务模块就像平铺在一个容器中,假如现在需要给各个模块添加点击事件埋点,AOP就像给所有业务模块间插入一个虚拟的切面,后续所有的点击事件通过这个切面时,我们有机会做一些额外的事情。 之所以说是虚拟,是因为整个过程对具体的业务场景是非侵入性的,业务代码不…
Kotlin进阶语法之操作符重载与中缀调用
对一元操作符来说包括'!'、'++'、'--',我们常用的是非操作和自增操作。 我们更熟悉二元操作符,比如a + b在这个场景下'+'就是二元操作符,常见的二元操作符就是加减乘除等算术符号。 在Kotlin中还增加了其他二元操作符,比如:in/!in(范围操作符)。 另外还有一…
Android Studio Kotlin环境配置
下面我们来看看如何配置它们。 如果是现有的项目需要支持Kotlin,需完成以下几步。 AS 3.0以下的版本(老古董了)需要手动添加Kotlin插件,3.0及以上可跳过此步骤。添加方式为File ——> Settings ——> Plugins ——> Browser repo…
Kotlin基本语法之(八) 扩展函数
Kotlin语言一大特性就是支持函数扩展,你可以通过一个简单的String对象发现,它比Java中的String对象强大太多,而这是怎么做到的呢?来看今天要讲的扩展函数。 先来个栗子,看看Kotlin中的String类有多强大。 通过上面的代码,我们开始学习扩展函数的写法。 与…
Kotlin基本语法之(七) 静态成员与companion伴生对象
在Java中可以通过static关键字声明静态的属性或方法。但是在Kotlin中并没有延续这个关键字,而是使用伴生对象实现,在class内部声明一个companion object代码块,其内部的成员变量和方法都将被编译为静态的。 Factory为最终生成的静态内部类类名,通常…
下一页
个人成就
文章被点赞
992
文章被阅读
226,117
掘力值
5,247
关注了
39
关注者
605
收藏集
0
关注标签
12
加入于
2018-03-06