![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
APT
文章平均质量分 78
Kim_Weng
这个作者很懒,什么都没留下…
展开
-
Android跨进程通讯——>Binder
一、前序Android的IPC方式有很多种,市面上Android开发用的比较多的方式是BroadcastReceiver(其他的共享文件之类的非实时通讯的就不要考虑了)。其实我也很好奇,为啥不用最具Android特色的Binder(即AIDL)来实现呢?Binder相对于BroadcastReciver的方式有很多优点:1.BroadcastReceiver效率比较低,不稳定,而且很多手机厂商会对BroadcastReceiver做限制。2.BroadcastReceiver不是可靠连接,有可能广播原创 2021-06-29 10:43:43 · 375 阅读 · 0 评论 -
自定义APT终极—>生成有参抽象工程
接着上篇 自定义apt实战之一>抽象工厂在和Java后台的同事聊天的时候,发现他们经常使用Data-Map来存放类名,然后通过反射来初始化。我在想为什么不用抽象工厂呢?抽象工厂和策略反射相比较:优点:抽象工厂无反射,性能相对较高;Data-Map每次增加 一个类,都需要在Data_Map里面进行注册,一不小心还有可能key重复;缺点:抽象工厂强依赖,不符合高内聚低耦合的设计思想;抽象工厂要写很多if-else,不够优雅,每次新增类都要增加if-else;特别是针对我现在工作内容,各种协议,每原创 2021-04-01 17:44:15 · 117 阅读 · 0 评论 -
自定义apt实战之一>抽象工厂
前面文章写了开始自定义APT之前需要了解的知识,刚开始接触自定义APT的小伙伴,可以看一下我前面的几篇文章:自定义APT之:调试自定义APT基础之:Element自定义APT之:javapoet自定义apt实战之一>Mapcreate接着上篇文章,前面 我们自定义了apt用来生成key-value键值对。这章我们来创建抽象工厂。数据模型中有连个角色:工厂、产品,之前的关系属于生产。先说说抽象工程相对于键值对反射的好处:1.不需要反射,性能相对消耗相对较低;2.低耦合,依赖关系由抽象工厂负责,原创 2021-02-26 17:55:09 · 156 阅读 · 0 评论 -
自定义apt实战之一>Mapcreate
前面文章写了开始自定义APT之前需要了解的知识,刚开始接触自定义APT的小伙伴,可以看一下我前面的几篇文章:自定义APT之:调试自定义APT基础之:Element自定义APT之:javapoet现在终于可以开始创建自己的apt了。先说一下开始之前的业务背景。在我的日常Android开发中,随着版本的不断迭代,需要对接N多个协议,需要适配N多个界面。在项目初期,使用if-else来进行区分,每个协议里面的又有很多子项。协议的子项通过Map来保存key-value键值对,通过反射来实例化并处理。(这里原创 2021-02-26 15:12:27 · 280 阅读 · 0 评论 -
自定义APT之:javapoet
javapoet用于在编译时构建生成的java文件。原创 2021-02-22 17:19:02 · 186 阅读 · 0 评论 -
自定义APT之:调试
工欲善其事必先利其器,在进行自定义APT开始时首先来了解一下如何调试apt代码,步骤如下:1.在Project的gradle-wrapper.properties文件中加入以下代码:org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005-Dorg.gradle.debug=true2.新建Remote:![在这里插入图片描述](https://img-blog.csdnimg.cn原创 2021-02-21 16:58:13 · 2948 阅读 · 0 评论 -
自定义APT基础之:Element
Element是自定义APT的基础,主要作用是在执行AbstractProcessor时,搜索和解析java文件。本文主要是根据官方API来带大家理解Element。Element位于:javax.lang.model.element包下。先看一下Element的官方解释: Represents a program element such as a package, class, or method. Each element represents a static, language-level原创 2021-02-21 16:38:46 · 478 阅读 · 0 评论