获得徽章 8
- #每天一个知识点#
![[庆祝]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_123.da47506.png)
![[庆祝]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_123.da47506.png)
Android开发中 注解+代码生成技术(APT+JavaPoet/JavaAssit/ASM等) 是一把利剑,
可以将很多模板代码在编译期间直接生成,即通过注解收集信息,然后将这些信息形成一些固定代码;
特别是在写框架的时候,可以将一些“脏活、累活”通过这种方式处理掉,然后提供给用户一个干净的API接口使用,目前
路由 如ARouter
ButterKnife、Dagger等
权限 如 MPermissions、PermissionsDispatcher
这些框架中有着广泛的使用,感兴趣可以学习一下
展开评论5 - #每天一个知识点# Android开发中 注解+代码生成技术(APT+JavaPoet/JavaAssit/ASM等) 是一把利剑,可以将很多模板代码在编译期间直接生成,即通过注解收集信息,然后将这些信息形成一些固定代码;特别是在写框架的时候,可以将一些“脏活、累活”通过这种方式处理掉,然后提供给用户一个干净的API接口使用,目前
路由 如ARouter
ButterKnife、Dagger等
权限 如 MPermissions、PermissionsDispatcher
这些框架中有着广泛的使用,可以学习一下展开
评论1 - sourceSets 在Android工程化中很有作用,比如qa 打monkey包和普通包需要使用不同的AndroidManifest,让不同的Actvity作为启动Activity,我们在模块的 build.gradle 的 android 闭包中加入以下语句
sourceSets {
main {
if (!monkeyMode) { // 判断是否独立打包
manifest.srcFile '/src/main/monkey/AndroidManifest.xml' // manifest 文件路径
} else {
manifest.srcFile '/src/main/AndroidManifest.xml' // manifest 文件路径
}
}
}
sourcesets的用法其实更加丰富,下次再单独结束,关注我一起进步
展开24 - #每天一个知识点#
Android中的绘制过程是怎样的?
Android绘制是指在Android系统中,将应用程序的界面元素呈现到屏幕上的过程。这个过程主要包括以下几个步骤:
1. 测量(Measurement):在这个阶段,Android系统会计算每个界面元素的大小和位置。这是通过调用每个界面元素的measure()方法来完成的。
2. 布局(Layout):在这个阶段,Android系统会确定每个界面元素在屏幕上的确切位置。这是通过调用每个界面元素的layout()方法来完成的。
3. 绘制(Drawing):在这个阶段,Android系统会将每个界面元素绘制到屏幕上。这是通过调用每个界面元素的draw()方法来完成的。
在Android系统中,绘制是一个非常重要的过程,因为它负责将应用程序的界面元素呈现到屏幕上,让用户可以看到和交互。但是,绘制也是一个非常耗时的过程,因此开发人员需要注意优化绘制性能,以确保应用程序的界面可以流畅地呈现。展开26
![[色]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_3.41d9a9a.png)
![[庆祝]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_123.da47506.png)
![[互相关注]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_77.afd454e.png)
![[灵光一现]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_25.51e6984.png)
![[思考]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_15.f58c082.png)