android RecyclerView的复用机制
RecyclerView的View是在什么时候放入到Recycler中的。以及在Recycler中是如何保...
Android性能优化建议
磁盘
SharedPreferences
我们知道SharedPreferences底层是使用xml文件来实...
应用测速组件
统计应用冷启动时长、页面渲染时长是APM系统不可缺少一个功能。Rabbit中这个功能...
android 应用卡顿监控
如何确定应用发生了卡顿?
根据前面的文章我们知道Choreographer.doFrame()方法...
Android中的异步消息处理机制
这也是Android中老生常谈的一个话题了,它本身并不是很复杂,可是面试官比较喜欢...
android SurfaceView、TextureView、GLSurfaceView
刚开始看这几个东西把我搞的晕头转向的…. 本文就来理一下它们的绘制原理:
Surf...
kotlin基础语法介绍
类型的声明与使用
val与var
val->不可变引用,var->可变引用。
我...
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
Kotlin 基本类型、函数、lambda、类与对象的写法
1. 基本类型2. 关键字3. 函数4. Kotlin 方法可以直接写在 .kt 文件里,不用写在某...
kotlin泛型
泛型使用方法
在类上使用泛型
类上面使用泛型,需要把泛型声明在类名后...
Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
Kotlin中嵌套类、数据类、枚举类和密封类的详解
一、嵌套类
如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保...
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
Kotlin 中List集合,Set集合,Map集合,数组的详解
1、创建不可变List集合
fun main() {
val list = listOf("Jason", "Jack...
Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
Kotlin中与Java互操作与可空性、类型映射、属性访问、@JvmOverloads、@JvmField、@JvmStatic、@Throws和函数类型操作详解
一、Kotlin与Java互操作与可空性。
Kotlin与Java互操作性与可空性
Java世界...
Kotlin 中变量,类型,表达式,函数详解
一、变量,编译时变量
1、要声明可修改变量,使用var关键字。
2、要声明只...
Kotlin中正确的使用Handler
1. Handler造成的内存泄漏2. Kotlin中使用Handler
Handler造成的内存泄漏
Handle...
Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解
一、Kotlin的可空性
null 在java中我们司空见惯的空指针异常NullPointerExcep...