Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Kotlin 互斥体:5 个用例
1. 保护多线程应用程序中的共享数据
设想:
在多线程应用程序中,多个线程...
Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
java lambda 原理分析
Java lambda 一眼看上去有点像匿名内部类的简化形式,但是二者确有着本质的差别...
kotlin list常用操作符
下标操作类
contains —— 判断是否有指定元素
elementAt —— 返回对应的元...
App Crash 详解
一、App Crash 概述
二、检测Crash 问题
三、Android vitals
四、分析App Crash
...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
Android组件化架构 – 2. 组件间通信机制
本地广播LocalBroadcastManager
说到组件间通信第一个肯定想到广播BroadcastReceiv...
虚拟机Android Dalvik 虚拟机介绍
1.Java 语言在Android 上运行流程
2.虚拟机发展过程
3.Android Dalvik 模式
4.And...
从“短信劫持马”的制作来谈APP安全
这种短信劫持木马的概念和新闻我想大家都应该接触过了,就不怎么说概念了,具...
Flutter安装配置
Mac 配置Flutter环境
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
我终于搞懂了async/await、promise和setTimeout的执行顺序
今天看到一道面试题,是关于async/await、promise和setTimeout的执行顺序,题...
Android使用AspectJ
一、基本介绍
1. AOP
在了解AspectJ前,我们首先了解另外一个名词:AOP
1.1 概念...
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
Gradle 编写及整个构建详解
本文不会太具体讲编写Gradle插件中用到的API,只是大致梳理一下如何编写一个Gr...