亮色
1024
Home
Archives
Thoughts
About
细嗅蔷薇,Gradle Task 必知必会
1 前言 本文是之前文章( 视角拉高,系统性地梳理下 Gradle )的一个填坑,本文将详细的介绍拆解如何自定义 task 以及围绕 Gradle Task 的一些核心重要概念,相信通过这篇文,大家能够对 Gradle Task 有一个更新的理解。 Gra
...
2024.10.23
Gradle Plugin
前言 Gradle Plugin id 类似 Java 的包名,插件的 ID 代表全局的唯一性。 插件 ID 包含所有的字母和数字以及.和-。 插件 ID 中至少包含一个.用来区分命名空间和插件名称。 通常使用翻转域名小写的方式作为命名空间。 通常插件的
...
2024.10.22
聊聊陈旧插件化: 插件化类加载 & 资源加载
前言 先大概了解下整个Apk的构成。 AndroidManifest.xml:用于描述APK包的组件和权限信息。 classes.dex:这是一个包含Java字节码文件的文件。 resources.arsc:会把资源打包编译成该格式,被为每份资源分配一个
...
2024.04.18
可能是比较深入的探索Android内存优化
前言 内存优化是Android性能优化中非常重要且不可或缺的一环,理解掌握内存优化相关的原理、步骤和体系是成为一个优秀Android工程师所必要的的能力素质。本文就比较深入的探索谈论一下关于Android内存优化的相关问题。 本文大纲 JVM/Androi
...
2024.01.26
从字符、字符集、字符编码一路到URLEncode
前言 平时写代码过程中经常会跟 unicode ,utf-8,字符集,字符编码,百分号编码,char数据格式等这些概念打交道。要想对其灵活运用,出了问题能够有思路快速定位出问题所在,理解这些概念以及原理是必不可少的。 1. 字符集(Character se
...
2024.01.26
视角拉高,系统性地梳理下Gradle
1 Gradle 的一些概念 Android Studio 默认的构建工具为 Gradle。在使用 Gradle 的过程中会碰到一些概念,理清他们的含义关系对我们使用和深入理解 Gradle 至关重要。 1.1 Gradle 、AGP(Android Gr
...
2024.01.26
2023 也该知道了:kotlin 协程取消和异常传播机制
什么是结构化并发? 说好的异常传播为啥失效了? 怎么还有async不抛异常的问题? 1 结构化并发(Structured Concurrency) 1.1 java的"离散性并发" kotlin 的 Coroutine 是【结构化并
...
2024.01.26
Get Hands Dirty|<200行手写一个Choreographer
如果你嫌弃啰嗦可以直接看代码:https://github.com/drummor/GetHandsDirty 1 基本原理 简单看下Choreographer的原理,具体的可以看之前写的一篇文章https://juejin.cn/post/68449038
...
2024.01.26
Android流畅性三板斧之帧率监控
前言 Android 流畅性监控的三板斧,这里所指是【帧率的监控】,【卡顿监控】和【ANR 的监控】。之所以讲这三者放在一起是他们的联系比较密切。帧率的下降往往伴随着有卡顿,【过分卡顿】往往就会产生 ANR。 严谨的讲,帧率下降不一定会有卡顿(这里对卡顿是从
...
2024.01.25
Android流畅性三板斧之卡顿监控
Android 流畅性三板斧之卡顿监控 Android 流畅性监控的三板斧,帧率的监控、卡顿监控、ANR 的监控。之所以讲这三者放在一起是他们的联系比较密切。帧率的下降往往伴随着有卡顿,【过分卡顿】往往就会产生 ANR。 严谨的讲,帧率下降不一定会有卡顿(这
...
2024.01.25
1
2
下一页