Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Android设计模式源码解析之模板方法模式
1. 模式介绍
模式的定义
定义一个操作中的算法的框架,而将一些步骤延迟到...
深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
Kotlin 互斥体:5 个用例
1. 保护多线程应用程序中的共享数据
设想:
在多线程应用程序中,多个线程...
Android组件化架构 – 2. 组件间通信机制
本地广播LocalBroadcastManager
说到组件间通信第一个肯定想到广播BroadcastReceiv...
App Crash 详解
一、App Crash 概述
二、检测Crash 问题
三、Android vitals
四、分析App Crash
...
kotlin list常用操作符
下标操作类
contains —— 判断是否有指定元素
elementAt —— 返回对应的元...
算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
java lambda 原理分析
Java lambda 一眼看上去有点像匿名内部类的简化形式,但是二者确有着本质的差别...
Android应用程序(APK)的编译打包流程详解
一、官方说明
下图的是官网对于Android编译打包流程的介绍。
官方的介绍非常笼统...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
虚拟机Android Dalvik 虚拟机介绍
1.Java 语言在Android 上运行流程
2.虚拟机发展过程
3.Android Dalvik 模式
4.And...
Flutter安装配置
Mac 配置Flutter环境
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
android SurfaceView、TextureView、GLSurfaceView
刚开始看这几个东西把我搞的晕头转向的…. 本文就来理一下它们的绘制原理:
Surf...
This 带来的困惑
1 引言
javascript 的 this 是个头痛的话题,本期精读的文章更是引出了一个观...
Kotlin中正确的使用Handler
1. Handler造成的内存泄漏2. Kotlin中使用Handler
Handler造成的内存泄漏
Handle...

