Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
Fresco缓存架构分析
本文是Fresco源码分析系列第二篇文章,主要来看一下Fresco中有关图片缓存的内容。
...
Kotlin 中的 Lambda 与 Inline
在Kotlin中,有很多很酷很实用的特性,比如Lambda和高阶函数,利用这些特性,...
已测试自定义View:Measure过程说明之MeasureSpec类详细讲解
前言
在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
getGlobalVisibleRect() 与 getLocalVisibleRect()
1. 讲解这两个方法之前, 首先我们先看下一个图片, 只是一个简单的Activity, 一个Li...
Android 基于Kotlin Flow实现一个倒计时功能
简单示例:
flow {
log("send hello")
emit("hello") //发送数据
...
Android Monkey 真机测试并收集日志
首先进行环境变量配置 下载jdk 安装jdk 配置jdk 环境变量 然后配置android 环境...
android 应用卡顿监控
如何确定应用发生了卡顿?
根据前面的文章我们知道Choreographer.doFrame()方法...
Kotlin 性能调优:您应该了解的 20 个最佳实践
性能是决定应用程序成败的关键指标。虽然 Kotlin 提供了大量功能来简化开发,但了...
51CTO.COM – 技术成就梦想- 中国领先的IT技术网站
51CTO.COM
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
Lifecycle原理分析
简述
LifeCycle通过在FragmentActivity中会添加ReportFragment用来监听Act...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
AQS原理分析
Lock
Lock 在 J.U.C 中是最核心的组件,前面学习 synchronized 的时候说过,锁...
Kotlin | 深入理解协程
@[toc]
Kotlin协程
协程由程序自己创建和调度,不需要操作系统调度,所以协...
Kotlin data数据类、copy()函数、sealed密封类
data数据类
data class ModelA(
val name: String = "",
var age: Int...
算法 – 滑动窗口
滑动窗口算法是较为入门题目的算法,一般是一些有规律数组问题的最优解,也就是说...
Android 中的开发者选项
每个 Android 开发人员都通过从开发人员选项页面启用 USB 调试来开始他们的旅程,...
Android 如何避免 Okhttp 的 HTTPS 请求被抓包
Android 网络安全:如何避免 Okhttp 的 HTTPS 请求被抓包


