transform
ClassWriter继承ClassVisitor 构造方法ClassVisitor(api,nextClassVisitor) ClassVisitor构造方法是链表形式的...
Extension 创建扩展 在gradle中使用extensions
创建工程 使用android studio,基于gradle api 7.0+点击查看官方文档[https://docs.gradle.org/current/usergui...
场景 热修复生成补丁时,基线apk和修复后apk中资源id固定,可以有效减少补丁大小 创建ids_keep.gradle文件 该脚本会在每次编译时生成一份ids_xxx_xx...
代码混淆的作用 代码混淆主要作用是使代码在编译过程中让原本方便阅读的代码进行一定规则的混淆和对代码进行一定量的优化。 代码混淆的意义 代码混淆的意义在于将原本开发时方便阅读的...
给dialog设置下面的样式,核心就是将android:windowIsFloating设置为false。 在dialog的onCreate方法中调用supportActio...
痛点 壳工程通过implementation 'com.alibaba:fastjson:1.2.76'的形式引入aar文件,而aar使用一个单独的业务工程开发,这种形式开发...
Lint 开发中使用静态代码检测工具对代码进行检查,达到规范代码减少bug的目的。常用的检测工具有FindBugs、PMD、Coverity,Checkstyle。Andro...
https://mp.weixin.qq.com/s/Nl3To5voQ4wZ_soFIqRXUg[https://mp.weixin.qq.com/s/Nl3To5voQ4...
在registerForActivityResult(上)[https://www.jianshu.com/p/fcad06c8c9a5]中我们提到使用上的不便,这篇就简单实...
registerForActivityResult(下)[https://www.jianshu.com/p/5c3a0b072f6a]相关库[https://gitee.c...
Stan_Z原创文章,转载注明出处,不过我也设置了禁止转载,嘻嘻。 一、优化大纲介绍 二、启动时间测量 2.1 am start 2.2 Displayed Displaye...
android gradle plugin 7.0后maven插件更新到maven-publish,需要一些修改 发布任务 为发布的依赖添加源码和文档 发布 会根据上面配置的...
结论 flowOn操作符对上游范围有效, 范围是指两个flowOn之间, 如果只有一个flowOn,则上游全部有效 最后一个flowOn后的操作所在线程与当前整个flow所在...
CoordinatorLayout经常会和AppBarLayout配合使用,AppBarLayout的滑动属性有以下flags,xml中设置方法如下: flags取值scro...
下面结论都是基于GridLayoutManager方向为竖直,spanCount为列数的情况,但在水平方向类似。 SpanSizeLookup public int getS...
flutter 2.0 beta已经发布有有一阵子了,开始体验吧,因为老项目的原因需要保留以前的sdk版本,所以在新的目录从新下载一个sdk。 本机为mac环境。 下载 下载...
一个旧项目需要添加仅wifi下加载图片的配置功能,因为该项目并没有封装图片加载,只是直接使用了glide加载图片,常规改造方法工作量巨大,于是有了这篇。 实现思路是通过自定义...