android系统
文章平均质量分 81
android系统知识学习整理
unbeliverpool
if you want, you can
展开
-
Android中强指针和弱指针
智能指针技术智能指针技术实质是:记录引用某一个对象的次数,一旦检测到次数为0,这时就自定将此对象所占内存释放。解决问题:1、指针初始化问题。(智能指针自动初始化)2、new之后没有及时delete,内存泄漏。(当计数为0时,自动销毁)3、野指针存在(当有对象仍在使用指针时,智能指针不会清零,仍然可以访问)智能指针技术不能解决对象循环引用的问题:a引用b;b引用a,这样的情况下使用简单的智能指针技术无法解决,故引入强指针和弱指针;强指针和弱指针强指针可以操作对象,弱指针不能够操作对象。强指针原创 2020-12-07 10:14:15 · 277 阅读 · 0 评论 -
android audio系统简析——后续待填充
知识点Android audio启动过程AudioTrack播放Android audio启动过程启动入口:audioserver启动frameworks/av/media/audioserver/audioserver.rc执行main_audioserver.cppAudioFlinger作用:负责对接Hal层,实现播放,混音,音效处理等功能操作AudioPolicyService作用:管理输入输出设备状态,音频播放策略,音量控制,向Hal层设置参数AudioFlinger 与Audi原创 2020-12-04 15:07:13 · 284 阅读 · 0 评论 -
android学习——第一个项目及activity学习
安装android studio安装软件: 链接——android studio安装创建第一个项目,SDK下载,模拟器安装创建时遇到的问题:Could not find any version that matches com.android.support:leanback-v17:30.+.解决办法: 找到文件build.gradle,修改最后的dependencies配置即可项目框架项目框架分为三部分:项目整体的框架manifests逻辑执行框架java程序界面/图片…等资源原创 2020-08-18 13:45:16 · 149 阅读 · 0 评论 -
android studio安装教程
百度搜索Android studio,或者直接输入http://www.android-studio.org进入这个页面 根据这个下载相应的安装包或者压缩包。 这里演示安装64位的android studio下载完成后直接双击安装包,就会出来下面这个界面点击N...转载 2020-08-18 09:00:40 · 203 阅读 · 0 评论 -
音箱设计及音质调试
预研设计喇叭尺寸,功率,额定阻抗确认期望的频响范围,低频与高频需求codec供电电压。 根据 U*U/2/R 计算,需要额外留出40%~50%的空间防止调音出现截幅—— U(电压),R(额定阻抗)注:如结构允许,尽可能复用之前已设计过的音箱与胶垫,重新设计会增加成本和研发时间结构设计音箱喇叭面宽度:音箱喇叭面宽度应大于喇叭尺寸+8mm。被动盆设计:被动盆设计需要预留面积较大的两...原创 2019-11-20 22:08:46 · 2119 阅读 · 0 评论 -
Android audio系统之audio_policy.conf分析
audio_policy.conf文件系统包含了primary、a2dp、usb、r_submix音频接口,每一个对应着系统中的audio.<primary/a2dp/usb>..so。primary:主要的处理模块a2dp:处理蓝牙音乐传输模块usb:处理usb声卡模块r_submix:全称remote submix,处理远程音频模块,目前主要是Miracast(基于W...原创 2019-11-20 21:58:04 · 1026 阅读 · 0 评论 -
ALSA驱动分析
1,概述2,ALSA框架介绍3,ALSA声卡注册过程4,ALSA设备节点创建5,tinyalsa调用流程1,概述声卡创建过程:1, 创建声卡实例. snd_card_create2, 创建逻辑设备.snd_device_new3, 设置PCM逻辑设备的substream的操作函数(cpu_dai的操作方法)4, snd_card_register,将声卡实...原创 2018-12-19 19:05:55 · 1202 阅读 · 0 评论 -
Android audio系统一audio框架及bug
1,audio框架APP层:音乐播放器,视频播放器。播放器一般使用MediaPlayer,MediaRecorder来进行播放和录音,MediaPlayer可以将音频文件进行解码,得到pcm流,然后使用AudioTrack进行播放。MediaRecorder是类似相反的过程。Framework Java层:AudioTrack —— 播放pcm流AudioRecorder —— 录音p...原创 2019-10-30 21:57:47 · 491 阅读 · 0 评论 -
Android audio系统二AudioFlinger AudioPolicyServicec初始化
1. audioserver启动frameworks/av/media/audioserver/audioserver.rc执行main_audioserver.cppAudioFlinger::instantiate();//初始化AudioFlingerAudioPolicyService::instantiate();//初始化AudioPolicyServiceAudioFli...原创 2019-10-30 21:27:39 · 733 阅读 · 0 评论 -
tinyalsa工具使用——tinycap,tinyplay,tinymix
1,tinycap2,tinyplay3,tinymix及分析1,tinycaphello_world:/ # tinycap Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r ...原创 2018-12-20 10:08:22 · 19315 阅读 · 0 评论 -
如何学习源码----转
这是前言在Android系统源码上摸索4年,说说我的看法:显然Eclipse不是阅读Android源码的好工具,不流畅,搜索低效,继承性关系/调用关系都无法有效查看。推荐Source Insight,在这个工具帮助下,你才可以驾驭巨大数量的Android 源码,你可以从容在Java,C++,C代码间遨游...转载 2018-08-17 17:44:53 · 999 阅读 · 0 评论 -
android源码学习规划
转载自————http://www.zhihu.com/question/19759722点击打开链接如果想深入的了解Android系统, 那么可以看看下面的总结.知识JavaJava是AOSP(Android Open Source Project)的主要语言之一. 没得说, 必需熟练掌握.Android App开发LinuxAndroid基于Li转载 2015-08-22 14:10:01 · 663 阅读 · 0 评论 -
HAL层分析——初步了解HAL
HAL是kernel与framework中间的一层。下面通过分析来说明HAL在android架构中起了什么作用,它如何把framework和kernel联系起来,承上启下。它的存在为什么使得android架构被linux踢出linux内核树。注意,HAL的存在仅仅使得android商业化的成功,却限制了android的开源发展,它对于开发本身而言并不是必要的。 1、 H原创 2015-08-19 16:54:42 · 2916 阅读 · 0 评论