【我的Android进阶之旅】使用Kotlin 代理/委托优雅地处理接口空实现:干掉接口中所有需要强制实现的但是无用的空方法实现!
文章目录
- 一、你面对的接口全部得需要实现的问题
- 二、使用代理/委托机制改造上面的代码
-
- 2.1 简化`ActivityLifecycleCallbacks`
- 2.2 实现`noOpDelegate`方法
- 2.3 Java动态代理 与 Kotlin代理/委托
-
- 2.3.1 Java动态代理
-
- 2.3.1.1 工作原理
- 2.3.1.2 示例代码
- 2.3.2 Kotlin代理/委托
-
- 2.3.2.1 工作原理
- 2.3.2.2 示例代码
- 2.3.2.3 Kotlin代理选择性重写方法示例
- 2.3.3 比较与应用场景
- 2.3.4 代理/委托的优缺点
一、你面对的接口全部得需要实现的问题
在Android开发中,我们经常会遇到需要实现某个接口的场景,但接口中的许多方法并不是我们所关心的。
假如我有这样一个需求:我需要记录应用中所有存活的 Activity,那么我的代码就会像以下代码那么写。
import android.app.Activity;
import android.app.Application;
import android