- 博客(225)
- 资源 (14)
- 收藏
- 关注
原创 GUI系统之SurfaceFlinger(17)handleRepaint
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 handleRepaint经过hand
2013-05-21 14:24:26 7153 2
原创 GUI系统之SurfaceFlinger(16)handleRefresh
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 handleRefresh从名称上看,
2013-05-21 14:22:20 6648
原创 GUI系统之SurfaceFlinger(15)handlePageFlip
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 handlePageFlipPageF
2013-05-21 14:21:06 9209 3
原创 GUI系统之SurfaceFlinger(14)handleTransaction
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 handleTransaction有两
2013-05-21 14:15:31 8142
原创 GUI系统之SurfaceFlinger(13)VSync信号的处理
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 VSync信号的处理经过上一小节的分析
2013-05-21 14:12:08 7809 2
原创 GUI系统之SurfaceFlinger(12)VSync信号的产生和处理
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1 VSync的产生和处理前面小节Projec
2013-05-21 13:51:47 12811 3
原创 GUI系统之SurfaceFlinger(11)SurfaceComposerClient
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 SurfaceComposerClie
2013-05-21 13:47:53 14590 3
原创 GUI系统之SurfaceFlinger(10)SurfaceFlinger的启动与工作原理
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 SurfaceFlinger的启动Su
2013-05-21 13:42:56 7707 2
原创 GUI系统之SurfaceFlinger(9)Project Butter黄油计划
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1 SurfaceFlinger从这一小节开始
2013-05-21 13:39:48 12184 7
原创 GUI系统之SurfaceFlinger(8)应用程序与BufferQueue的关系
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 应用程序与BufferQueue的关系
2013-05-21 13:25:26 8737 1
原创 GUI系统之SurfaceFlinger(7)应用程序的典型绘图流程
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 应用程序的典型绘图流程我们知道,Buf
2013-05-21 13:21:58 10175 1
原创 GUI系统之SurfaceFlinger(6)BufferQueue中的缓冲区分配
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 BufferQueue中的缓冲区分配我
2013-05-21 13:17:33 15955 3
原创 GUI系统之SurfaceFlinger(5)BufferQueue内部原理
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1 BufferQueue详解上一小节我们已经
2013-05-21 13:13:28 18713 2
原创 GUI系统之SurfaceFlinger(4)opengl es本地窗口SurfaceTextureClient
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/1.1.1 SurfaceTextureClient针对应用程序端的本地窗口是SurfaceTextureClient,和FramebufferNativeWindow一样,它必须继承ANativeW
2013-05-21 13:06:50 12104 2
原创 GUI系统之SurfaceFlinger(3)Android中的本地窗口FramebufferNativewindow
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/1.1 Android中的本地窗口在OpenGL的学习过程中,我们不断提及“本地窗口”(NativeWindow)这一概念。那么对于Android系统来说,它是如何将OpenGL ES本地化的呢,或者说
2013-05-21 13:01:47 13811 6
原创 GUI系统之SurfaceFlinger(2)Gralloc与Framebuffer
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/1.1 Gralloc与Framebuffer相信做过Linux开发的人对framebuffer不会太陌生,它是内核系统提供的一个与硬件无关的显示抽象层。之所以称之为buffer,是由于它也是系统存储空
2013-05-21 11:56:18 10458
原创 GUI系统之SurfaceFlinger(1)OpenGLES与EGL
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/第1章 GUI系统之SurfaceFlinger在进入GUI系统的学习前,建议大家可以先阅读本书应用篇中的“OpenGLES”章节,并参阅OpenGL ES官方指南。因为Android的GUI系统是基
2013-05-21 11:52:10 19929 5
原创 GUI显示系统之SurfaceFlinger---章节目录
后面的几篇博文中我将按照如下的顺序贴出各小节内容。文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正第11章 GUI系统之SurfaceFlinger247 11.1OpenGL ES与EGL. 247 11.2Gralloc与Framebuffer249 11.3Android中的本地窗口... 253 11.3.1Fra
2013-05-21 11:44:43 17585 4
原创 GUI显示系统之SurfaceFlinger--- Gralloc与Framebuffer
GUI显示系统之SurfaceFlinger其它部分完整章节:http://blog.csdn.net/uiop78uiop78/article/details/8954508第1章 GUI系统之SurfaceFlinger在进入GUI系统的学习前,建议大家可以先阅读本书应用篇中的“OpenGLES”章节,并参阅OpenGL ES官方指南。因为Android的GUI系统是基于OpenGL/EGL
2013-05-20 11:13:26 13337 3
原创 Android进程线程之同步互斥(一)
1.1.1 Android中的同步与互斥Android系统也提供了自己的同步互斥机制,不过任何技术的本质都是类似的,更多的是把这些本质的东西应用到符合自己要求的场景。目前Android封装的同步互斥类包括:· Mutex头文件在frameworks/native/include/utils/Mutex.h,因为实现与具体的平台有关,我们只关心如何使用它· Con
2013-04-18 09:24:29 10990 1
原创 Android显示系统之SurfaceFlinger(一)
1.1 SurfaceFlinger的启动SurfaceFlinger的启动和ServiceManager有点类似,它们都属于系统的底层支撑服务,必需在设备开机的早期就运行起来。/*frameworks/base/cmds/system_server/library/System_init.cpp*/extern "C" status_t system_init(){… proper
2013-04-16 17:20:08 11170
原创 Android音频系统之AudioTrack(二)
1.1.1 AudioPolicyService的路由实现我们在AudioPolicyService小节曾将其比作是一个“路由器”,不过还没有深入解析它是如何完成路由选择的。这部分的功能与使用者——AudioTrack有很大关联,所以我们特别将它的实现原理剖析放在这里,以使读者可以综合起来理解。路由器功能由如下几个部分组成:l 与发送方(AudioTrack)的接口就好像路由器首先要接收到一个I
2013-04-15 18:30:11 13299 1
原创 Android音频系统之AudioTrack(一)
1.1 AudioTrack1.1.1 AudioTrack应用实例对于Android应用开发人员来讲,音频回放最熟悉的莫过于MediaPlayer,而AudioTrack相信用的人相对会少很多。这是因为MediaPlayer提供了更完整的封装和状态控制,使得我们用很少的代码就可以实现一个简单的音乐播放器。而相比MediaPlayer,AudioTrack更为精练、高效,实际上MediaPlaye
2013-04-15 18:29:09 29300 7
原创 Android音频系统之AudioPolicyService
1.1 AudioPolicy Service在AudioFlinger小节,我们反复强调它只是策略的执行者,而AudioPolicyService则是策略的制定者。这种分离方式有效地降低了整个系统的藕合性,而且为各个模块独立扩展功能提供了保障。1.1.1 AudioPolicyService概述汉语中有很多与策略有关联的俗语,比如“因地制宜”、“具体问题具体分析”;战争中只遵照兵书制
2013-04-15 18:12:42 20238 1
原创 Android音频系统之AudioFlinger(四)
1.1.1 AudioMixer每一个MixerThread都有一个唯一对应的AudioMixer(在MixerThread中用mAudioMixer表示),它的作用如其名所表示的,就是为了完成音频的混音操作。 图 13‑14 MixerThread示意图 如上图,MixerThread对外开放的接口主要涉及到Parameter(比如setPar
2013-04-15 18:08:49 13960 4
原创 Android音频系统之AudioFlinger(三)
1.1.1 PlaybackThread的循环主体当一个PlaybackThread进入主循环后(threadLoop),音频事务就正式开启了。仔细观察的话,我们会发现这个循环中会不断地调用以“threadLoop_”开头的若干接口,比如threadLoop_mix、threadLoop_sleepTime、threadLoop_standby等等。以这样的前缀开头,是因为这些函数都是在thr
2013-04-15 18:06:15 17206 1
原创 Android音频系统之AudioFlinger(二)
1.1.1 音频设备的管理虽然AudioFlinger实体已经成功创建并初始化,但到目前为止它还是一块静态的内存空间,没有涉及到具体的工作。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多
2013-04-15 18:05:12 22419 2
原创 Android音频系统之AudioFlinger(一)
1.1 AudioFlinger在上面的框架图中,我们可以看到AudioFlinger(下面简称AF)是整个音频系统的核心与难点。作为Android系统中的音频中枢,它同时也是一个系统服务,启到承上(为上层提供访问接口)启下(通过HAL来管理音频设备)的作用。只有理解了AudioFlinger,才能以此为基础更好地深入到其它模块,因而我们把它放在前面进行分析。 1.1.1 AudioF
2013-04-15 18:01:24 37398 3
原创 Android音频系统之音频框架
1.1 音频框架转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492Android的音频系统在很长一段时间内都是外界诟病的焦点。的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的音乐播放软件开发商没有推出Android平台产品的一个重要原因。但这并不代表它的音
2013-04-13 11:58:12 51968 12
原创 Android音频系统之音频基础
第1章 音频系统转载请注明:LXS, http://blog.csdn.net/uiop78uiop78/article/details/8787779对于一部嵌入式设备来说,除了若干基础功能外(比如手机通话、短信),最重要的可能就是多媒体了——那么一个最简单的问题,什么是多媒体呢?这个术语对应的英文单词是“Multi-Media”,直译过来就是多媒体。名称就
2013-04-11 13:41:56 18508 8
原创 Android应用程序的编译和打包
应用程序的编译和打包转载请注明:LXS, blog.csdn.net/uiop78uiop78/article/details/8504128文章是在word上写好后,复制到csdn的,csdn不支持live writer,每次编辑都很伤脑筋,最终的效果也很差。有知道方法的朋友告知一下,感谢。同步发布在http://www.cnblogs.com/lxs-android/archi
2013-01-15 09:26:48 5230 1
转载 linux重定向
在shell 程式中,最常使用的FD 大概有三個,分別为: 0: Standard Input (STDIN)1: Standard Output (STDOUT)2: Standard Error Output (STDERR) 在标准情況下,這些FD 分別跟如下设备关联:stdin(0): keyboardstdout(1): monitorstderr(2):
2012-12-12 18:25:03 1472
转载 Linux系统调用讲义
Linux下系统调用的实现Unix/Linux操作系统的体系结构及系统调用介绍什么是操作系统和系统调用 操作系统是从硬件抽象出来的虚拟机,在该虚拟机上用户可以运行应用程序。它负责直接与硬件交互,向用户程序提供公共服务,并使它们同硬件特性隔离。因为程序不应该依赖于下层的硬件,只有这样应用程序才能很方便的在各种不同的Unix系统之间移动。系统调用是Unix/Lin
2012-11-02 08:50:12 2340
转载 jvm中堆栈以及内存区域分配
堆栈这个概念存在于数据结构中,也存在于jvm虚拟机中,在这两个环境中是截然不同的意思。在数据结构中,堆栈是:堆 和栈两种数据结构,堆是完全二叉树,堆中各元素是有序的。在这个二叉树中所有的双亲节点和孩子节点存在着大小关系,如所有的双亲节点都大于孩子节点则 为大头堆,如果所有的双亲节点都小于其孩子节点说明这是一个小头堆,建堆的过程就是一个排序的过程,堆得查询效率也很高。栈是一种先进后出的线性表。
2012-09-01 08:48:00 1796
转载 Android Adb Analyse
TABLE OF CONTENTS1 Introduction1.1 Purpose1.2 Definitions, Acronyms, and Abbreviations2 Architecture2.1 Module Architecture Diagram3
2012-05-12 09:49:47 1972
转载 Android开发工具——ADB(Android Debug Bridge)
Android开发工具——ADB(Android Debug Bridge) 概览Android Debug Bridge (adb) 是一个android开发人员必会的多功能的调试工具,确实它的名字一样,它在开发者和目标机器之间,架起了一座bridge。 adb的用法很简单,只要看完SDK文档关于ADB的部分,(android-sdk-linux_86/docs/g
2012-05-12 09:36:09 3064
转载 android中生成和使用jar
参考资料1: http://blogold.chinaunix.net/u/9577/showart_1826330.html Export LibraryPrepare source codeCreate an Android projectCreate source code, and fix all bugRemove res/*Remove unuse
2012-05-08 16:45:07 1632
转载 8086 CPU 寄存器简介
引子打算写几篇稍近底层或者说是基础的博文,浅要介绍或者说是回顾一些基础知识,自然,还是得从最基础的开始,那就从汇编语言开刀吧,从汇编语言开刀的话,我们必须还先要了解一些其他东西,像 CPU ,内存这些知识点还是理解深刻一点的比较好,所以这一篇博文就绕着 80x86 CPU 中寄存器的基础部分下手,至于其他的一些将会在后续的博文中介绍 。同时在这里
2012-05-06 17:23:30 1510
原创 Android 自动化测试初探
开个文研究自动化测试。前期先用来搜集各种概念资料1. android 官方测试参考 http://developer.android.com/guide/topics/testing/index.html2. 冒烟测试 http://baike.baidu.com/view/120013.htm3. 从测试的对象来看,测试分黑盒,白盒。 白盒,我的
2012-05-04 15:53:39 1907
转载 EQ均衡器原理
做音乐最离不开的效果器是什么?相信大多数朋友都会回答:是EQ!不错,正是有了这个所谓“均衡”的效果器,我们的音乐才不会过载,乐器音色才会如此丰富。然而知道1加1等于2更要知道1加1为什么等于2。今天我把这个效果器扒光,从根本上来分析它的工作原理。“EQ的原理??我知道我知道!!声波是由不同谐波组成的!所谓均衡处理就是改变这些谐波的振幅。”这个说法也对也不对。说它对是因为均衡效果器的初衷是这
2012-05-04 11:26:14 12105 3
《Site.Reliability.Engineering 》英文原版
2017-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人