存档

文章标签 ‘源码分析’

Android中native进程内存泄露的调试技巧

2012-05-08 23:42 星期二    浏览: 21,228    3 条评论

代码基于Android2.3.x版本

Android为Java程序提供了方便的内存泄露信息和工具(如MAT),便于查找。但是,对于纯粹C/C++ 编写的natvie进程,却不那么容易查找内存泄露。传统的C/C++程序可以使[......]

Read more

Android源码阅读笔记:AsyncChannel与层次状态机StateMachine

2012-03-13 18:32 星期二    浏览: 7,169    没有评论

public void connect(Context srcContext, Handler srcHandler, String dstPackageName, String dstCl[......]

Read more

Android源码分析:大块内存的跨进程共享

2012-02-17 11:59 星期五    浏览: 6,078    没有评论

我们知道,传统的IPC方式传递大块内存时,一般使用共享内存的方式。在Android Binder IPC中,有着自己独特的跨进程传递方式。它也同样,避免了内存拷贝的方式,可以让内存基址和偏移在进程间不断而且方便的传递。Android传[......]

Read more

Android源码分析:Java层对Binder的封装

2012-02-03 22:43 星期五    浏览: 2,529    没有评论

Java层对Binder的封装

Java层对Binder进行了封装,使Java层亦可使用Binder IPC。主要的几个Java类有:IBinder定义了接口,BinderBinderProxy类实现了该接口类。Java[......]

Read more

Android中的3G图标与PS数据流向方向

2011-12-23 18:21 星期五    浏览: 2,931    没有评论

3G图标与PS数据流向方向

从上往下跟代码:
-----------
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPol[......]

Read more

Android源码阅读笔记:StageFright中的事件驱动机制

2011-12-17 21:36 星期六    浏览: 4,771    没有评论

based on ICS

事件驱动机制
在目录frameworks/base/media/libstagefright/foundation/下定义了stagefright需要使用的基础类,生成动态链接库文件l[......]

Read more

Android源码分析:VoIP

2011-11-27 16:43 星期日    浏览: 7,083    没有评论

Based on android-4.0.1_r1

阅读本节内容需要具备Linux网络基础知识。

概述

Androidvoip功能支持位于目录frameworks/base/voip中。它包括支持rtp功能的package

RTP支持[......]

Read more

Android源码简析:usb

2011-11-17 19:29 星期四    浏览: 3,147    15 条评论

USB

 

在目录frameworks/base/libs/usb/src/com/android/future/usb下添加了对usb复合设备的管理。可以使用Java类来查看usb处于何种工作模式,也可以设置其工作模式。androi[......]

Read more

Android源码分析:录音AudioRecording

2011-11-16 15:12 星期三    浏览: 6,746    1 条评论

Auido Record

录音功能的使用,在Java层可以调用AndroidSDK中的API—-android.media.AudioRecord来实现;在native层,可以调用C++中的AudioRecord类[......]

Read more

Android源码分析:Audio的播放

2011-11-14 18:24 星期一    浏览: 4,252    没有评论

Audio系统

Audio部分主要包括Audio的管理(AudioSystem)、AudioPCM输出音轨(AudioTrack),AudioPCM录制输入源(AuidoRecord)、Audio音效(AudioEffect)和Au[......]

Read more

Android源码分析:AudioFlinger中的线程

2011-11-14 10:05 星期一    浏览: 6,278    没有评论

 

Track相关类概述

下图是其继承关系图,继承在AudioBufferProvider之后,各种Track可以作为AudioBufferProvider的一种为AudioMixer提供音频数据缓冲。Tra[......]

Read more

Android源码分析:AudioPolicy

2011-11-12 20:00 星期六    浏览: 6,992    没有评论

在创建一个AudioPolicyService对象时,主要是:

1. 创建两个AudioCommand线程,一个线程用于Tone的播放,另一个用于声音的音量及其它参数设置;

2.创建音频策略管理器(AudioPolicyMana[......]

Read more

Android源码分析:AudioEffect

2011-11-09 19:58 星期三    浏览: 7,902    没有评论

 

音效AudioEffect

如下图,应用程序开发者使用android.media.audiofx.AudioEffect来控制音效,它的子类包括:BassBoostEnvironmentalReverbEq[......]

Read more

Android的Graphic系统代码分析杂记7

2011-10-20 13:28 星期四    浏览: 4,014    没有评论

Graphic HAL

gralloc

 

库libgralloc的头文件位于:

hardware/libhardware/include/hardware/

android中默认库源码文件位于:

hardwa[......]

Read more

Android的Graphic系统代码分析杂记6

2011-10-19 20:27 星期三    浏览: 8,511    没有评论

库libui.so

源码路径:frameworks/base/libs/ui

 

GraphicBuffer/android_native_buffer_t

GraphicBuffer继承自模板类EGLNative[......]

Read more

Android的Graphic系统代码分析杂记4

2011-10-15 15:22 星期六    浏览: 2,110    没有评论

使用copyblt

copyblt主要是利用硬件来优化图形缩放、旋转和某些大内存搬移操作等的性能,主要用在Camera预览和视频播放上面。因为Camera预览时,需要将Camera录制的图像数据从pmem(Android专门在L[......]

Read more

Android的Graphic系统代码分析杂记3

2011-10-13 12:19 星期四    浏览: 2,383    没有评论

SurfaceFlinger进程

SurfaceFlinger进程程序的入口点在文件中:
frameworks/base/cmds/surfaceflinger/main_surfaceflinger.cpp

它非常地简单:[......]

Read more

Android源码分析:RIL代码分析

2009-11-04 00:29 星期三    浏览: 3,231    没有评论

 

源码分布

ril模块放置在源码包中的hardware/ril目录下,包含以下几个目录:

hardware/ril/rild/rild: 守护进程rild,利用socketAndroid Framework中的telepho[......]

Read more

Android中的状态监控—-Status Bar

2009-10-30 08:06 星期五    浏览: 3,132    没有评论

Android下的监控包括很多类型,如无线网络的信号强度,无线网络数据类型(GPRS/EDGE/3G/CDMA1.x/CDMA-EVDO),是否漫游、WiFi信号强度,数据传输方向(下载还是上传),电池电量、蓝牙等。[......]

Read more