Kotlin | 使用vararg可变参数
背景
一般在项目开发中,我们经常会在关键节点上埋点,而且埋点中会增加一些额...
JNI 编程上手指南之 JNI 调用性能优化
为什么要做性能优化
Java 程序中,调用一个 Native 方法相比调用一个 Java 方...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
Android 在任意位置绘制文本
基础
通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView...
Kotlin 进阶 | 不变型、协变、逆变子类型泛型中的子类型不变型协变逆变PECS 原则 & POCI 原则类型投影推荐阅读
引入泛型之后,子类型的概念变得复杂,好不容易用刚学会的泛型定义了方法,用起...
BlockCanary原理分析
概述
BlockCanary是Android平台上的一个轻量的,非侵入式的性能监控组件,可以...
Android Monkey 真机测试并收集日志
首先进行环境变量配置 下载jdk 安装jdk 配置jdk 环境变量 然后配置android 环境...
写给初学者的Jetpack Compose教程,基础控件和布局
大家好,写给初学者的Jetpack Compose教程又更新了。
Compose的知识体系很庞大,因...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
腾讯Matrix分析–ELFHook原理
背景
在Matrix发布后,可以检查文件是否存在泄漏的问题,处于好奇,了解一...
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
Jetpack Compose也能搞插件化了
/ 前言 /
在传统的 Android 开发模式中,由于界面过分依赖于 Activity、Fra...
android RecyclerView的刷新机制
本文会从源码分析两件事 :
adapter.notifyXXX()时RecyclerView的UI刷新的逻辑...
Android中的异步消息处理机制
这也是Android中老生常谈的一个话题了,它本身并不是很复杂,可是面试官比较喜欢...
Android NDK开发基础
前言
NDK即Native Development Kit,是Android上用来开发c/c++的开发工具包。 ...
Android组件化架构 – 4. 动态创建 & 反射机制
Android 组件化中使用动态创建的作用是解耦;
1. 反射机制
反射有两个作用:1.反编...
HandlerThread原理分析、实战、最佳实践!
本文我们将学习HandlerThread的实现原理,以及开发时,如何正确的使用它来实...
redux原理分析
前言
相信很多人都在使用redux作为前端状态管理库进去项目开发,但仍然停留...