kotlin的扩展函数“let、run、also、apply”的作用和区别
记录一下四个扩展函数的区别,使用经常记不住:Kotlin的扩展函数let、run、also、...
Android组件化架构 – 6. 权限管理
权限的目的
权限设立的目的是保护安全
权限机制
系统权限分三种:
Android所有者...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
android RecyclerView的刷新机制
本文会从源码分析两件事 :
adapter.notifyXXX()时RecyclerView的UI刷新的逻辑...
Android Git使用
前言
作为一个程序员,你保存代码的方式是什么?更新代码的方式是什么?你还...
算法 – 二叉树
二叉树是一种数据结构,并且拥有种类复杂的分支,本文作为入门篇,只介绍一些...
android协程是怎么切换线程的
要搞清楚这个问题,我觉得需要搞懂这几个知识点:
Continuation,简单讲可以...
Kotlin基础-for循环return、break、continue
一、前言:
java中return、break、continue的含义:
1、break:不仅可以结束其...
重学Java系列-1. GC原理 & 垃圾回收算法
GC原理
GC即垃圾收集,追踪仍然使用的所有对象,并将其余对象标记为垃圾然后进...
Android架构模式
Android项目工程中常用的架构模式有MVC, MVP, MVVM以及现在新出的MVI。
下面一起...
Kotlin | 深入理解协程
@[toc]
Kotlin协程
协程由程序自己创建和调度,不需要操作系统调度,所以协...
路由架构梳理
本文整理一下WMRouter的基本路由逻辑,并剖析相关路由类的设计。
基本元素
...
Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
Netty原理分析
1. Netty简介
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的A...
RxJava(RxJava详解)
为什么做这个项目: 学习Rxjava,基本所有人都会看扔物线的《给Android开发者Rxja...
设计模式之责任链模式
责任链模式
责任链模式(Chain of Responsibility Pattern)
责任链模式将链...
插件APK的解析
插件apk中resource访问
插件化技术应该实现: 对于插件中的资源在插件中仍然可...
CopyOnWriteArrayList实现原理及源码分析
CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读...
算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...

