《深入理解Android:卷III A》一一第3章 深入理解AudioService

第3章

深入理解AudioService
本章主要内容:
探讨AudioService如何进行音量管理
了解音频外设的管理机制
探讨AudioFocus的工作原理
本章涉及的源代码文件名及位置:
AudioManager.java
framework/base/media/java/android/media/AudioManager.java
AudioService.java
framework/base/media/java/android/media/AudioService.java
AudioSystem.java
framework/base/media/java/android/media/AudioSystem.java
VolumePanel.java
framework/base/core/java/android/view/VolumePanel.java
WiredAccessoryObserver.java
framework/base/services/java/com/android/server/WiredAccessoryObserver.java
PhoneWindow.java
framework/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
Activity.java
framework/base/core/java/android/app/Activity.java

时间: 2024-11-01 00:26:16

《深入理解Android:卷III A》一一第3章 深入理解AudioService的相关文章

《深入理解Android:卷III A》一一第2章 深入理解Java Binder和MessageQueue

第2章 深入理解Java Binder和MessageQueue 本章主要内容: 介绍Binder系统的Java层框架 介绍MessageQueue 本章所涉及的源代码文件名及位置: IBinder.java frameworks/base/core/java/android/os/IBinder.java Binder.java frameworks/base/core/java/android/os/ Binder.java BinderInternal.java frameworks/ba

《深入理解Android》一3.7 本章小结

3.7 本章小结 本章主要介绍了WTF库的实现与使用,包括其中的OwnPtr.RefPtr.断言.内存管理.容器.原子操作等内容,为读者继续阅读及实际开发提供支持.同时,还介绍了Android 的crash dump以及WebKit的运行时线程结构等,希望为读者勾勒出WebKit运行的动态画面.有这些内容作为基础,读者就可以展开WebKit的神奇画卷.

《深入理解Android》一2.4 本章小结

2.4 本章小结 本章的目的是希望读者能获得对WebKit组成架构和浏览器工作原理的一个整体理解和认识,并概括出其中的一些关键点(主要对象)和线(核心流程),方便读者自主进行源码分析. 由于WebKit是一个相当庞大复杂的软件系统,代码行数在百万数量级,涉及语法解析.排版布局.图形绘制.硬件加速以及网络.多线程等多方面的算法和技术,期望在一章篇幅内能够完整叙述清楚是不太现实的. 在余下的章节中,我们将分别对WebKit各主要功能模块抽丝破茧,更加深入细致地介绍其算法原理和具体代码实现.

《深入理解Android》一1.5 本章小结

1.5 本章小结 本章介绍了Android开发环境的搭建,Android源代码获取以及编译方法,并对Android附带常用工具的使用作了说明,然后详细介绍了WebKit代码的目录结构以及本书内容概要,最后讲述了调试分析WebKit代码的方法.本章旨在介绍承载WebKit的Android源码环境,熟悉该部分是开发Android 平台WebKit的基础.

《深入理解Android:卷III A》一一2.1概述

2.1概述 由于本书所介绍的内容是以Java层的系统服务为主,因此Binder相关的应用在本书中比比皆是.而MessageQueue作为Android中重要的任务调度工具,它的使用也是随处可见.所以本书有必要对这两个工具有所介绍.根据邓凡平的同意与推荐,本章由卷II第2章升级到4.2.2,并且增加了对AIDL相关知识点的分析.本章作为本书Android源代码分析之旅的开篇,将重点关注两个基础知识点,它们是:Binder系统在Java世界是如何布局和工作的.MessageQueue的新职责.先来分

深入理解Android中View和ViewGroup

深入理解Android中View 这回我们是深入到View内部,去研究View,去了解View的工作,抛弃其他因素,以便为以后能灵活的使用自定义空间打下一定的基础.希望有志同道合的朋友一起来探讨,深入Android内部,深入理解Android. 一.View是什么? View是什么了,每个人都有自己的理解.在Android的官方文档中是这样描述的:这个类表示了用户界面的基本构建模块.一个View占用了屏幕上的一个矩形区域并且负责界面绘制和事件处理.View是用来构建用户界面组件(Button,T

深入理解Android手势识别_Android

对于触摸屏,其原生的消息无非按下.抬起.移动这几种,我们只需要简单重载onTouch或者设置触摸侦听器setOnTouchListener即可进行处理.不过,为了提高我们的APP的用户体验,有时候我们需要识别用户的手势,Android给我们提供的手势识别工具GestureDetector就可以帮上大忙了. 基础 GestureDetector的工作原理是,当我们接收到用户触摸消息时,将这个消息交给GestureDetector去加工,我们通过设置侦听器获得GestureDetector处理后的手

深入理解Android中的建造者模式_Android

前言 在Android开发过程中,我发现很多安卓源代码里应用了设计模式,比较常用的有适配器模式(各种adapter),建造者模式(Alert Dialog的构建)等等.虽然我们对大多数设计模式都有所了解,但是在应用设计模式的这个方面,感觉很多人在这方面有所不足.所以这篇文章我们一起深入的理解Android中的建造者模式. 建造者模式(Builder Pattern)也叫生成器模式,其定义如下: separate the construction of a complex object from

理解Android中的自定义属性_Android

本文实例讲解了Android中的自定义属性,具体内容如下 1.引言 对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现: 自定义一个CustomView(extends View )类 编写values/attrs.xml,在其中编写styleable和item等标签元素 在布局文件中CustomView使用自定义的属性(注意namespace) 在CustomView的构造方法中通过TypedArray获取 ps:如果你对上述几个步骤不熟悉,建议先熟悉下,再继续~ 那么,我有几个问题: