Coil KMP 跨端图片库源码分析 1. 概述 1.1 简介 Coil 图片加载库正逐步扩展对 Kotlin Multiplatform (KMP) 的支持,未来将覆盖 A...
Coil KMP 跨端图片库源码分析 1. 概述 1.1 简介 Coil 图片加载库正逐步扩展对 Kotlin Multiplatform (KMP) 的支持,未来将覆盖 A...
原创 转载请联系作者 1. 介绍 引言 在移动应用开发领域,Kotlin Multiplatform Mobile (KMM) 和 Compose Multiplatform...
0. 目标 反编译后对 Smali 源码执行打点调试。 1. 实现流程 1.1 重新打包可调试的 APK 使用 Apktool 反编译,得到源码文件夹; 找到文件夹下的 An...
0. 目标 Android 手机直接使用 HttpCanary,获取一般应用的 Https 数据。 1. 背景 一般来讲,Https 抓包需要通过安装证书来实现类似中间人攻击...
为了方便理解核心原理,以下流程均已精简。 一. 完整流程 流程图: 上图是 Android 将一个布局通过硬件渲染的方式显示到屏幕,这个过程可简化为俩步:应用侧绘制和系统侧绘...
一. 常用类 Bitmap.Config决定 Bitmap 像素点的色彩空间(位数)。有 ALPHA_8、RGB_565、ARGB_4444、ARGB_8888 4 种,详见...
摘要: 本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。 关键字: O...
一. 获取系统可用内存的原理 linux 系统中 /proc/meminfo 这个文件用来记录当前系统内存使用的详细情况。通过读取该文件即可知道当前内存的使用情况。 /pro...
是的 😶
Android 组件化架构 个人笔记前言说明 以下内容均为 Android 组件化架构知识点的总结归纳、修正错误和完善扩展,非系统知识集,个人笔记,仅供参考。 组件化基础 1. 引入库的三种方式 2. Andr...
虚引用 在了解 LeakCanary 之前,先来了解下虚引用。 虚引用必须与 ReferenceQueue 一起使用,当 GC 准备回收一个对象,如果发现它还有虚引用,就会在...
Fragment 有很多种使用方法,官方并没有提供一个统一的 api 来处理 Fragment 的可见性判断和回调,导致在不同的使用场景下需要使用不同的方法来判断 Fragm...
谢谢!已修改
Android屏幕适配之单位DP基本概念 名词概念 名称解释px像素点,一个像素点为1pxdp即dip,像素密度sp同dp,但是可以根据系统字体偏好缩放dpi每英寸的像素数,也叫做屏幕密度 换算关系 根据换...
大纲 Java 基础 1. ==、equals 和 hashCode 的区别 == 用于基础数据类型的判断时,比较的是值,用于引用类型的判断时,比较的是对象在内存中的存放地址...
Dalvik 和 ART 参看 快速理清 .dex、.odex、ART、AOT、OAT 逻辑关系 Java 内存结构和内存模型 参考 Java 内存基本知识 这里对 Java...
目的 理清 .dex、.odex、ART、AOT、OAT 等近似名称的概念和意义。 APK 生成 最终 apk 内的代码文件为 .dex 文件。 APK 安装运行 基础概念 ...
简介 Lock 以更强大灵活的方式,作为了 synchronized 锁的替代品。 相比较 synchronized,Lock 有如下优势: 可以尝试获取锁,线程不必一直等待...
以下内容针对想要实现工程组件化开发的中小型项目ComponentLight 是一款 Gradle 插件,无代码侵入,可以理解为组件化辅助工具。 本文将通过以下问题,逐步说明 ...
虚引用相信大家都知道他的作用,但是由于平时不常用,所以实际上手有点困难。 本文目的通过学习虚引用的使用,敲开 LeakCanary 源码学习的大门。 使用虚引用检测对象被回收...
闲来无事,利用 APT 写了个类似 ARouter 的小型路由框架,方便组件化跳转。 功能说明 基本路由跳转 路由跳转当然是 SimpleRouter 最基本的功能。 1、使...
一、注解的本质 注解的本质是继承了 Annotation 的接口,如下示例: 注解可以理解为一种特殊的标注,利用注解,可以执行编译检测、生成辅助代码等等。 总而言之,注解作为...