Callback是事件驱动的灵魂,Interface作为具体形式服务于各种场景。但是对于包含多个方法的接口,即使只会用到其中一个,也不得不容忍大量的空方法实现样板代码;当然我们可以创建一个公共的中间类预先实现需要的接口,其它地方使用时就可以直接继承该中间类并只需重写需要的方法即可,然而这样又会产生占用继承位、不同的接口需要不同的中间类等新问题,那么到了kotlin这儿又会有怎样的解决方案?
Kotlin:分析 ?. 的实现对空安全的保证
Posted on
In
Kotlin
空安全是Kotlin特性之一,本文以一个常见的“错误”推导场景为例来分析 ?. 的实现。
对 mmap 的理解
Posted on
In
Android
mmap 经常出现在对性能有要求的模块,Android系统中特有的进程间通信binder机制核心原理也是基于其实现,本文旨在以一种相对浅显易懂的方式来理清mmap的作用和高效的原因。
优化 Gradle 构建速度汇总
Posted on
In
Android
本文罗列了目前社区中常规的 gradle 构建速度优化方案,作为开发的参考。
从R文件索引看资源优化
Posted on
In
Android
包体积的优化是一个老生常谈的话题,除了官方文档的最佳实践,社区也探索出了一系列优化方案,例如效果显著的微信AndResGuard,对资源索引表和资源路径进行了缩减,可让原本已经优化过的apk再立减好几M;又例如针对特定场景优化的booster,其中对R文件的处理可以进一步减少class文件冗余。不管哪种,都建立在R字段对资源的索引基础之上,本文就来简单阐述其具体过程和优化方案。