职位描述
Android Studio
岗位职责:
1.蓝牙通信架构:负责Android端蓝牙(BLE/经典蓝牙)通信层的设计与优化,包括设备扫描、GATT服务交互、自定义协议解析、分包粘包处理及数据校验;2.系统音频采集:基于AudioRecord/MediaRecorder实现高实时性、低延迟的麦克风数据采集,处理音频数据回调、缓冲区溢出防护、采样率转换等底层问题;
3.双路数据融合:在蓝牙耳机通话与手机本地录音共存场景下,设计合理的音频路由策略,解决多App混音抢占、通话状态监听、音频焦点管理等复杂问题;
4.稳定性攻坚:解决复杂外设环境下(多设备连接、弱信号、后台保活)的蓝牙连接稳定性与音频采集功耗平衡问题;
5.架构落地:基于Jetpack MVVM架构,实现高内聚、低耦合的硬件交互与音频处理模块,保证代码的可测试性与可维护性;
6.兼容性适配:处理Android 6.0 - 14.0各版本蓝牙权限演进、音频策略变更(特别是Android 10+对麦克风权限的进一步收紧)及厂商ROM差异化表现;
7.性能优化:通过Profiler、Systrace等工具排查内存抖动、音频采集延时、传输丢帧等性能瓶颈,保障高频数据场景下的流畅体验。
任职要求:(统招大专3年经验)
1.Android原生基础:熟悉Kotlin/Java,掌握Activity、Service、BroadcastReceiver等核心组件,具备Jetpack(ViewModel、LiveData/Flow、Room等)实际项目经验;
2.蓝牙专项能力:必须具备蓝牙通信项目经验,熟悉BluetoothAdapter、BluetoothGatt回调机制,独立处理过扫描过滤、服务发现、特征值读写/通知、MTU协商等完整流程;
3.音频系统认知:深刻理解Android语音录制全链路——从麦克风硬件、ALSA驱动、Audio HAL、AudioFlinger到AudioRecord的应用层回调,清楚数据是“主动拉取”而非“推送”的本质,能解释缓冲区溢出(Overrun)的成因与解决方案;
4.异步与并发:理解Handler/Looper或协程,能够妥善处理蓝牙异步回调、音频采集线程与UI线程的协同;
5.工程化意识:熟练使用Git,有模块化/组件化开发经验,具备基本的代码重构能力。
2.蓝牙专项能力:必须具备蓝牙通信项目经验,熟悉BluetoothAdapter、BluetoothGatt回调机制,独立处理过扫描过滤、服务发现、特征值读写/通知、MTU协商等完整流程;
3.音频系统认知:深刻理解Android语音录制全链路——从麦克风硬件、ALSA驱动、Audio HAL、AudioFlinger到AudioRecord的应用层回调,清楚数据是“主动拉取”而非“推送”的本质,能解释缓冲区溢出(Overrun)的成因与解决方案;
4.异步与并发:理解Handler/Looper或协程,能够妥善处理蓝牙异步回调、音频采集线程与UI线程的协同;
5.工程化意识:熟练使用Git,有模块化/组件化开发经验,具备基本的代码重构能力。
加分项(符合任意一条即可重点沟通)
对讲机/即时通信用App经验:曾开发过PTT(按讲)类应用,处理过蓝牙耳机麦克风与手机麦克风的切换逻辑,或实现过语音数据实时编码发送;
音频底层触达能力:有过OpenSL ES/AAudio高性能音频采集开发经验,或通过JNI层直接调用AudioRecord native接口降低延迟;
协议栈双重认知:既了解蓝牙GATT/GAP协议,也熟悉音频编解码基础(PCM、Opus、AAC),能理解采样率、位深、声道数与数据量的换算关系;
NDK/JNI能力:有过Java层调用C/C++ so库的实战经历,或能够独立编译第三方蓝牙协议栈/音频处理库;
Compose能力:初步掌握Jetpack Compose声明式UI开发。
对讲机/即时通信用App经验:曾开发过PTT(按讲)类应用,处理过蓝牙耳机麦克风与手机麦克风的切换逻辑,或实现过语音数据实时编码发送;
音频底层触达能力:有过OpenSL ES/AAudio高性能音频采集开发经验,或通过JNI层直接调用AudioRecord native接口降低延迟;
协议栈双重认知:既了解蓝牙GATT/GAP协议,也熟悉音频编解码基础(PCM、Opus、AAC),能理解采样率、位深、声道数与数据量的换算关系;
NDK/JNI能力:有过Java层调用C/C++ so库的实战经历,或能够独立编译第三方蓝牙协议栈/音频处理库;
Compose能力:初步掌握Jetpack Compose声明式UI开发。
登录查看完整内容
相似职位
最新招聘
热门城市
热门职位
热门公司





