Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
Android组件化架构 – 3. 组件间跳转 & ARouter路由
组件间跳转 & ARouter路由
常见的跳转,对于用户来说就是页面跳转,对应Androi...
Android 面试之必问Android基础
1,Activity
1.1 生命周期
正常情况系,Activity会经历如下几个阶段:
onCrea...
Android性能优化建议
磁盘
SharedPreferences
我们知道SharedPreferences底层是使用xml文件来实...
Android启动流程
关于项目
BeesAndroid项目旨在通过提供一系列的工具与方法,降低阅读Android系...
Android组件化架构 – 2. 组件间通信机制
本地广播LocalBroadcastManager
说到组件间通信第一个肯定想到广播BroadcastReceiv...
秒懂 23 种设计模式!有点污,但真得秒啊…
01 工厂方法
追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃...
Android设计尺寸规范
Android设计尺寸规范
Deeplink实践原理分析
01.先看一个场景
假设一个场景:
小明告诉小杨,一鹿有车APP上有一个很有...
Android设计模式源码解析之Builder模式
1. 模式介绍
模式的定义
将一个复杂对象的构建与它的表示分离,使得同样的...
Android底层崩溃捕获机制
我们知道Java中的Crash我们一般可以通过try/catch进行捕获并获取具体的崩溃信息,...
免费的 Android 专家在线课程,带您逐步开发出自己的应用。
免费的 Android 专家在线课程
插件APK的解析
插件apk中resource访问
插件化技术应该实现: 对于插件中的资源在插件中仍然可...
进程间的同步
在看Replugin源码时,发现在对插件apk文件解析之前,对这个文件加了一个ProcessL...
线程池的原理分析
线程使用上的问题
new Thread().start();
线程的频繁创建和销毁
线程的数...
聊聊ViewPager2中的缓存和复用机制
1. 前言
众所周知ViewPager2是ViewPager的替代版本。它解决了ViewPager...
Flutter和原生Android控件对比
Flutter和原生Android控件对比:
Flutter控件
Android控件
AppBar
ActionBa...

