Android 12+ 蓝牙外放问题总结
背景
Android 12 上发现存在蓝牙外放问题,原因是存在多个应用设置通话音量,...
Linux应用开发【第八章】ALSA应用开发
8 ALSA应用开发
8.1 音频相关概念
音频信号是一种连续变化的模拟信号,但计...
Perfetto使用教程
Perfetto 是谷歌开发的用于性能检测和跟踪分析的生产级开源堆栈。它提供用于记录系...
kotlin 协程需要注意的7个要点
协程的 cancel 不能中断线程
如果我们在协程中使用了线程的并发集合,比如Link...
兼容性Android 设备兼容性使用详解
一、设备兼容性分类
二、硬件设备兼容
三、软件 APP 兼容
四、兼容不同语言
五、...
Android底层崩溃捕获机制
我们知道Java中的Crash我们一般可以通过try/catch进行捕获并获取具体的崩溃信息,...
springboot整合easyexcel进行动态表头导出
简介
在企业的开发工程中,偶尔会遇到不同的用户具有不同表头的结构的导出功能实...
微信全文搜索优化之路
本文首次发表在《程序员》杂志 2017 年 09 月期。
前言
基于本地数据的全...
异常体系 Error/Exception 运行异常/非运行异常
Throwable是Error的基类,也是Exception的基类
Error和Exception的关系
Erro...
Android的离奇陷阱 — 设置线程优先级导致的微信卡顿惨案
Android上如果在主线程执行下面的代码:
Thread t = new Thread();t.start();...
Android Jetpack – Navigation
前言
即学即用Android Jetpack系列Blog的目的是通过学习Android Jetpack完成一个...
android compose中HorizontalPager与BottomNavigation联动遇到的问题
Recomposition的概念以及原则
在讲HorizontalPager与BottomNavigation联动之前先需...
Kotlin | Flow数据流的几种使用场景
一 Flow使用注意事项
多个Flow不能放到一个lifecycleScope.launch里去collect{...
RT-Thread设计与实现:RT-Thread 概述和架构
RT-Thread 概述
RT-Thread全称是Real Time-Thread,顾名思义,它是一个嵌入式...
android使用dp做屏幕适配会出现的问题
一直以来android屏幕尺寸相关的东西我都很薄弱,什么dpi, ppi, 英寸我都比较疑惑...
AOSP添加 C/C++、Java 库
本文基于 AOSP Android10_r41 源码环境。
1.添加 C/C++ 程序库
1.1 源码方...
AndroidManifest.xml合并规则详解和注意事项
APK 或 Android App Bundle 文件只能包含一个 AndroidManifest.xml 文件,但 Andr...