0%

Callback是事件驱动的灵魂,Interface作为具体形式服务于各种场景。但是对于包含多个方法的接口,即使只会用到其中一个,也不得不容忍大量的空方法实现样板代码;当然我们可以创建一个公共的中间类预先实现需要的接口,其它地方使用时就可以直接继承该中间类并只需重写需要的方法即可,然而这样又会产生占用继承位、不同的接口需要不同的中间类等新问题,那么到了kotlin这儿又会有怎样的解决方案?

mmap 经常出现在对性能有要求的模块,Android系统中特有的进程间通信binder机制核心原理也是基于其实现,本文旨在以一种相对浅显易懂的方式来理清mmap的作用和高效的原因。

包体积的优化是一个老生常谈的话题,除了官方文档的最佳实践,社区也探索出了一系列优化方案,例如效果显著的微信AndResGuard,对资源索引表和资源路径进行了缩减,可让原本已经优化过的apk再立减好几M;又例如针对特定场景优化的booster,其中对R文件的处理可以进一步减少class文件冗余。不管哪种,都建立在R字段对资源的索引基础之上,本文就来简单阐述其具体过程和优化方案。