一、扩展函数 定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
2023-09-10 1.18k

本文是Fresco源码分析系列第二篇文章,主要来看一下Fresco中有关图片缓存的内容。 ...
2023-09-06 1.24k

在Kotlin中,有很多很酷很实用的特性,比如Lambda和高阶函数,利用这些特性,...
2023-09-21 1.21k

前言 在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
2024-10-23 1.48k

1. 讲解这两个方法之前, 首先我们先看下一个图片, 只是一个简单的Activity, 一个Li...
2023-10-07 1.22k

简单示例: flow { log("send hello") emit("hello") //发送数据 ...
2023-09-10 1.31k

首先进行环境变量配置 下载jdk 安装jdk 配置jdk 环境变量 然后配置android 环境...
2023-09-10 874

前言   有一段时间没有去写过框架了,最近新的框架MVI,其实出来有一段时间了...
2023-09-25 1.48k免费
免费

如何确定应用发生了卡顿? 根据前面的文章我们知道Choreographer.doFrame()方法...
2023-09-12 1.26k

性能是决定应用程序成败的关键指标。虽然 Kotlin 提供了大量功能来简化开发,但了...
2023-09-20 1.62k

1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder pub...
2023-09-12 958

简述 LifeCycle通过在FragmentActivity中会添加ReportFragment用来监听Act...
2023-08-18 1.06k

1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
2023-09-10 2.77k

Lock Lock 在 J.U.C 中是最核心的组件,前面学习 synchronized 的时候说过,锁...
2023-08-18 1.08k

@[toc] Kotlin协程 协程由程序自己创建和调度,不需要操作系统调度,所以协...
2023-09-10 1.12k

data数据类 data class ModelA( val name: String = "", var age: Int...
2023-09-10 1.06k

滑动窗口算法是较为入门题目的算法,一般是一些有规律数组问题的最优解,也就是说...
2023-08-20 1.06k

每个 Android 开发人员都通过从开发人员选项页面启用 USB 调试来开始他们的旅程,...
2023-09-20 1.19k

Android 网络安全:如何避免 Okhttp 的 HTTPS 请求被抓包
2020-07-17 1.29k
显示验证码
没有账号?注册  忘记密码?