getGlobalVisibleRect() 与 getLocalVisibleRect()
1. 讲解这两个方法之前, 首先我们先看下一个图片, 只是一个简单的Activity, 一个Li...
已测试自定义View:Measure过程说明之MeasureSpec类详细讲解
前言
在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
This 带来的困惑
1 引言
javascript 的 this 是个头痛的话题,本期精读的文章更是引出了一个观...
Android 面试之必问Android基础
1,Activity
1.1 生命周期
正常情况系,Activity会经历如下几个阶段:
onCrea...
TransimittableThreadLocal原理分析
TTL 概述
JDK ThreadLocal、InheritableThreadLocal的最大局限性就是:无法为预...
Kotlin中嵌套类、数据类、枚举类和密封类的详解
一、嵌套类
如果一个类只对另一个类有用,那么将其嵌入到该类中并使这两个类保...
Android View体系(坐标,滑动,分发,绘制)
坐标系
Android中有两种坐标系,Android坐标系和视图坐标系
Android坐标系
...
JNI 编程上手指南之 HelloWorld 实战
JNI 编程是高级/专家 Android 开发的必备技能之一,接下来我们就一步一步掌握 JNI...
android RecyclerView的刷新机制
本文会从源码分析两件事 :
adapter.notifyXXX()时RecyclerView的UI刷新的逻辑...
ViewPager2获取Item的View
1.在写ViewPager2的ViewHolder的时候给ItemView设置tag为当前的ViewHolder
pub...
Android Studio插件
ButterKnife Zelezny:简化视图绑定
ButterKnife Zelezny 插件自动执行了为 ...
自定义Android IOC框架
一、IOC简单科普
所谓IOC,即控制反转(Inversion of Control,英文缩写为IoC...
Flutter迭代版本号更改位置
1:打开yaml,找到version,1.0.0是版本号,+后面是code,一般升级更新都使用code去...
Kotlin data数据类、copy()函数、sealed密封类
data数据类
data class ModelA(
val name: String = "",
var age: Int...
Android Zygote 启动流程
Android系统包含netd、servicemanager、surfaceflinger、zygote、media、installd...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...

