Android Framework 核心基础的学习路线图
1. 为什么要学习 Android Framework?
作为一名应用层 App 开发工程师,我们为...
Linux 驱动开发入门
1. 编写一个简单的 Linux 内核模块
首先,我们需要理解什么是内核模块?简单来...
Android性能调优利器StrictMode
作为Android开发,日常的开发工作中或多或少要接触到性能问题,比如我的Androi...
Android垃圾回收机制与分代回收策略
GC 回收机制与分代回收策略
垃圾回收(Garbage Collection,简写为 GC)可能是...
ConstraintLayout
前言
这是自己参与校对的文章,以后除了发布一些自己的内容外,也会去翻译一些...
Tina_Linux_内存优化_开发指南
Tina Linux 内存优化开发指南
1 概述
1.1 编写目的
介绍Tina Linux 下减少系统...
Android | Compose 状态管理
前言
应用中的状态指的是可以随时间变化的任何值。这个定义非常广泛,例如从数...
Android架构模式
Android项目工程中常用的架构模式有MVC, MVP, MVVM以及现在新出的MVI。
下面一起...
android java和kotlin语法对比
java和kotlin语法对比
MySQL索引实现原理分析
目前大部分数据库系统及文件系统都采用 B-Tree(B 树)或其变种 B+Tree(B+树...
Android设计模式源码解析之责任链模式
1. 模式介绍
模式的定义
一个请求沿着一条“链”传递,直到该“链”上的某个处...
Fresco缓存架构分析
本文是Fresco源码分析系列第二篇文章,主要来看一下Fresco中有关图片缓存的内容。
...
Android逆向技术49——Android JNI从入门到实践01
背景
网上可能有各种Android jni从xx到xx,几乎是创建项目,跑起来就完事了。最...
Android AAudio详解
本篇介绍
AAudio 是Android O版本引入的C API,专门用于高性能音频场景,本篇介绍...
抖音 Android 性能优化系列:Java 锁优化
背景
Java 多线程开发中为了保证数据的一致性,引入了同步锁(synchronized)。但...
Paging Library: Database + Network
原文地址:https://proandroiddev.com/paging-library-database-network-c8c3185cf...
Coil compose 设置文件缓存位置
Coil 默认会有一个 ImageLoader,设置的磁盘缓存文件路径为/data/data/<包名>...
Android JetPack组件之ViewModel状态的保存(程序在后台被系统杀死数据也存活)
想要在程序被系统杀死后,数据依然还在有两种方法。
第一种方法就是比较旧的一...