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状态的保存(程序在后台被系统杀死数据也存活)
想要在程序被系统杀死后,数据依然还在有两种方法。
第一种方法就是比较旧的一...
Android车载应用开发与分析(13)- 系统设置-蓝牙设置
1. 前言
Android 车载应用开发与分析是一个系列性的文章,这个是第13篇分析系...
Android如何优雅地解决重复Drawable资源
1. 前言
最近鸿洋大神和路遥大佬分别在他们的公众号上发布了关于解决Sha...
JNI 编程上手指南之字符串处理
引子
JNI 把 Java 中的对象当作一个 C 指针传递到本地方法中,这个指针指向 JV...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
Android MVVM框架使用UI更新 (App启动白屏优化、适配Android10.0深色模式)
UI更新 (App启动白屏优化、适配Android10.0深色模式)
前言
在上一篇文...
Android 12+ 蓝牙外放问题总结
背景
Android 12 上发现存在蓝牙外放问题,原因是存在多个应用设置通话音量,...
Linux应用开发【第八章】ALSA应用开发
8 ALSA应用开发
8.1 音频相关概念
音频信号是一种连续变化的模拟信号,但计...
Perfetto使用教程
Perfetto 是谷歌开发的用于性能检测和跟踪分析的生产级开源堆栈。它提供用于记录系...
kotlin 协程需要注意的7个要点
协程的 cancel 不能中断线程
如果我们在协程中使用了线程的并发集合,比如Link...
兼容性Android 设备兼容性使用详解
一、设备兼容性分类
二、硬件设备兼容
三、软件 APP 兼容
四、兼容不同语言
五、...