自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wangadping的博客

保持学习,保持热情,乐观积极

  • 博客(117)
  • 收藏
  • 关注

原创 SystemUI中NavigationBar分析

将导航栏View添加到Window进行显示通过读取解析xml里config的图标排布信息,来创建对应的view如果设置了keycode,则将点击事件touch以keycode方式交由系统处理。

2025-02-07 17:16:02 1038

原创 Settings一级界面显示分析

Settings一级界面显示

2025-02-05 15:52:16 1051

原创 aosp新增一个native服务

aosp新增一个native服务

2025-01-04 17:54:20 327

原创 Launcher3主页面加载显示流程分析

Launcher3主页面加载显示流程分析

2025-01-04 16:33:40 1150

原创 Launcher3版本确定

Launcher3有几个不同的版本,引入的代码和资源文件有所不同,我们需要确认当前设备中使用的是哪个

2025-01-04 16:24:27 276

原创 高版本Android源码编译旧版本apk问题

原因:mk脚本指定了sdk_version: “current”,编译出来的targetVersion是源码版本,而旧版本app代码写法可能还没有适配新版本导致运行出现问题。解决方法:有下面两种。

2024-12-31 16:14:36 323

原创 BootAnimation源码流程分析

BootAnimation源码流程分析

2024-12-19 22:17:12 616

原创 在源码中编译jni

在源码中编译jni

2024-12-19 22:12:03 196

原创 在源码中编译c执行程序

在源码中编译c程序

2024-12-19 22:02:12 282

原创 app反编译工具使用

app反编译工具使用

2024-12-19 21:59:48 204

原创 Android Studio新建项目在源码中编译

自己动手新建AS工程,编写mk脚本,放在源码下编译生成apk

2024-12-19 21:52:25 336

原创 app在源码中编译,mk和bp脚本写法

通过make可以编译成app或者共享库,全编之后,可以使用mm/mmm/mma命令来单编app,下面以源码中具体的例子来说明mk文件写法。

2024-12-19 21:44:51 270

原创 Android代码结构图

介绍aosp设计架构和源码目录结构

2024-12-19 21:32:45 391

原创 使用Android Compose+Media3+MVI开发的本地音乐播放器

效果:https://github.com/dongpingwang/Music/releases/tag/1.0.0。地址:https://github.com/dongpingwang/Music。

2024-09-18 14:16:22 449

原创 Android Studio常见问题

Run一直是上次的apk内存占用太大,导致闪退

2023-11-20 22:38:06 363

原创 自定义歌曲试听SeekBar

自定义歌曲试听进度条

2023-11-20 15:46:52 242

原创 ANR问题分析的一般套路

android anr分析

2023-11-20 00:14:23 669

原创 分析日志的一般套路

‍‍‍‍分析日志的一般套路

2023-11-20 00:03:31 355

原创 Map面试常见问题

在JDK1.8之前,HashMap内部采用数组+链表的结构来存储数据,数组是HashMap的主结构,而链表则是用来处理冲突的。如果有元素,则将该元素与索引位置处的元素形成链表,并比较两个元素的key值,如果key值相同,则将value值较大的元素放在链表的头,这样就可以保证每次遍历都能按照key值排序。如果数组的大小选择过小,会导致频繁的扩容操作,影响程序的性能;HashMap的实现使用了散列(hashing)技术,通过将键转化为数组的索引,可以在O(1)的平均时间复杂度内完成数据的插入、查找和删除操作。

2023-09-14 19:44:07 287 1

原创 List常见面试问题

ArrayList的扩容方法是grow(),它会获取到ArrayList中elementData数组的内存空间长度,然后扩容至原来的1.5倍。其中,ArrayList是基于数组实现的,LinkedList是基于链表实现的,Vector是基于数组实现的线程安全版本。Java中的List是一种存放有序的、可以重复的数据的集合,它允许重复元素的存在。List中的元素都有对应的一个序列号(索引)记录着元素的位置,因此可以通过这个序列号来访问元素。ArrayList不是线程安全的。

2023-09-06 11:17:07 599

原创 音量压低处理流程

我们在源码中进行全局搜索,应该是在/frameworks/base/services/core/java/com/android/server/audio/PlaybackActivityMonitor.java,我们接着看这个类。通过申请临时DUCK焦点可以压低其他在播放的音源,如源码中的注释,不会暂停其他在播放的音源,而是降低输出,在车载情景下,一般在地图导航或者语音播报的情景下会申请这个焦点。下面流程基于aosp9。

2023-08-02 20:30:29 452

原创 AudioFocus申请失败情形

最近在分析问题时,经常看到媒体应用出现申请音频焦点失败,导致状态异常的问题,因此总结一下出现该问题的一些情景。原生设计中,**通话中或者来电时,**申请音频焦点失败,需要关注下。下面是原生系统源码,逻辑比较简单。

2023-07-31 17:21:04 601

原创 注册外部的AudioPolicy,监听焦点变化

因此我们试一试可不可以利用这一点,来注册外部的AudioPolicy,进行焦点变化监听。幸运的是可以,并且AudioManager中提供了。在上面分发流程分析中,最终是在MediaFocusControl中进行处理的,在。​方法中可以看到在执行焦点栈逻辑时会先执行AudioPolicy相关逻辑,可以通过反射来实现。

2023-07-26 16:51:30 374

原创 AudioFocus分发流程

在音视频app开发中一般会遵循音频焦点的机制,播放时申请音频焦点,丢失焦点后暂停播放,恢复焦点后继续播放等。尤其在车载开发时,涉及到三方应用和自研应用,导致经常出现音频焦点混乱混音等问题。整体是一个IPC调用流程,MediaFocusControl中维护了一个焦点栈,当栈数据发生变化时,会分发焦点状态给调用客户端。

2023-07-17 15:56:14 142

原创 Android开发常见模拟器

Android常见模拟器

2023-07-10 11:05:54 411

原创 如何查看声卡、pcm设备以及tinyplay、tinymix、tinycap的使用

只有PCM设备才有这部分,只有c和p两种。c代表capture,说明这是一个提供录音的设备,p代表palyback,说明这是一个提供播放的设备。设备的id,代表这个设备是声卡上的第几个设备。设备的ID只和驱动中配置的DAI link的次序有关。如果驱动没有改变,那么这些ID就是固定的。设备类型,通常只有comtrol/pcm这2种。从上图可以看到声卡会管理很多设备,PCM设备只是其中的一种设备。声卡的id,代表第几块声卡。通常都是0,代表第一块声卡。手机上通常都只有一块声卡。

2023-04-26 19:00:36 4876

原创 自己上传开源库到Maven

创建密钥,使用命令行操作示例,如下:(用gui操作默认密钥类型不是RSA and RSA,上传到服务器也有问题)提一个JIRA单,可以参考。密钥有分为私有密钥和公开密钥,配置gradle脚本。

2023-04-23 14:45:38 483

原创 c语言库api文档

Linux系统api文档:https://man7.org/linux/man-pages/dir_all_alphabetic.html。C语言标准库文档:https://swordair.com/docs/c-language-standard-library/

2023-04-17 01:48:29 546

原创 git-first-commit编译分析

git-v0.99版本,与现在的git比较接近,也是可以在ubuntu14上编译。编译环境:Ubuntu-14.0。修改Makefile。

2023-04-17 01:44:58 95

原创 Android串口工具

android串口工具

2023-03-08 23:07:21 1069 2

原创 android查看签名信息

android签名信息

2023-02-21 23:12:51 510

原创 TME全民K歌TV Android

面试

2023-02-20 12:05:51 248

原创 星河智联Android开发

面试

2023-02-20 12:05:41 824 4

原创 Android列表条目左滑删除

Android 左滑删除

2023-01-30 19:29:30 755 1

原创 RecyclerView自定义滚动条

android recyclerview 滚动条

2023-01-29 17:19:03 1012

原创 ExoPlayer修改播放器UI

exoplayer修改播放器

2023-01-11 10:38:48 996 3

原创 Design assumption violated异常处理

Design assumption violated异常处理

2023-01-04 12:26:59 1397

原创 ServiceManager(Java层)源码分析

binder源码解析

2023-01-04 00:22:16 578

原创 杀进程系统重启服务引发的惨案

Android问题记录

2022-12-21 23:58:13 162

原创 开机向导禁用失败

android开机向导禁用失败

2022-12-19 22:30:03 282 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除