- 博客(196)
- 资源 (16)
- 论坛 (1)
- 收藏
- 关注

原创 本书版权输出到台湾地区,《深入理解Android内核设计思想》诚挚感谢大家一直以来的支持!
深入理解Android内核设计思想 android内核 全面 显示系统 音频系统 基础知识
2014-06-12 16:27:03
4877
10

原创 《深入理解Android内核设计思想》已陆续在全国各大书店及网上书店上市,感谢大家一直以来的支持~~
《深入理解Android内核设计思想》已陆续在全国各大书店上市,电子书店也在陆续上架中(不断增加):1. http://product.china-pub.com/3803721书本目录和一些章节内容将陆续与各位亲爱的读者们分享,感谢大家一直以来的支持和鼓励~~
2014-04-28 10:07:39
5569
22
转载 Linux测试
前言Linux基金会在4月3日公布了Linux开发年报,向我们展示了linux kernel作为世上最大开源合作项目之一的魅力。自2005年以来,共有800家公司7800名开发人员参与Linux kernel开发,最近一年也有200家公司共1000名开发人员参与。目前在Linus Torvalds的监督之下,Linux核心约2到3个月发布一个新的稳定版本,每次更新大约包含8000到12000项修改
2017-02-16 21:21:25
1233
1
转载 Linux Test Tools
Linux Test ToolsThe purpose of this Linux Test Tools Table is to provide theopen-source community with a comprehensive list of tools commonly usedfor testing the various components of Linux.My hope is
2017-02-16 21:19:21
766
转载 Software Testing @ Facebook
This topic has always been of interest by testers who like to understand how some of the best companies perform testing in their organization. Based on my research and what's on internet here are some
2016-09-25 22:22:20
910
转载 Google Testing:Testing on the Toilet: What Makes a Good End-to-End Test?
Testing on the Toilet: What Makes a Good End-to-End Test?Wednesday, September 21, 2016 by Adam BenderThis article was adapted from a GoogleTesting on the Toilet (TotT) episode
2016-09-25 21:09:56
751
原创 Handler, MessageQueue, Runnable与Looper
相信不少人对这几个概念深恶痛绝,因为它们“像雾像雨又像风”——自我感觉都很熟识,如果下一次再相遇,却又陌生得很。这种“隔靴搔痒”的感觉促使我们必须与这些“顽固分子”来个彻底的决断。 先不要想太多,任头脑中随意画下对这些概念的第一印象,如图5-5所示。 ▲图5 5 概念初探 图5-5是我们对这几个概念的“感官”释义,读者可以尝试着思考下是否和自己所想的基本一致。 那么,如果把这些概念糅
2015-03-27 22:59:04
3467
3
原创 GUI系统之SurfaceFlinger(18)postFramebuffer
文章都是通过阅读源码分析出来的,还在不断完善与改进中,其中难免有些地方理解得不对,欢迎大家批评指正。转载请注明:From LXS. http://blog.csdn.net/uiop78uiop78/GUI系统之SurfaceFlinger章节目录:blog.csdn.net/uiop78uiop78/article/details/89545081.1.1 postFramebuffer在多缓冲
2013-05-21 14:25:38
10421
9
原创 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
6781
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
6268
原创 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
8256
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
7478
原创 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
7387
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
11946
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
12317
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
7220
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
10993
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
8199
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
9197
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
15309
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
17650
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
11452
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
12946
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
9644
原创 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
18055
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
16045
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
12390
3
原创 Android进程线程之同步互斥(一)
1.1.1 Android中的同步与互斥Android系统也提供了自己的同步互斥机制,不过任何技术的本质都是类似的,更多的是把这些本质的东西应用到符合自己要求的场景。目前Android封装的同步互斥类包括:· Mutex头文件在frameworks/native/include/utils/Mutex.h,因为实现与具体的平台有关,我们只关心如何使用它· Con
2013-04-18 09:24:29
10501
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
10721
原创 Android音频系统之AudioTrack(二)
1.1.1 AudioPolicyService的路由实现我们在AudioPolicyService小节曾将其比作是一个“路由器”,不过还没有深入解析它是如何完成路由选择的。这部分的功能与使用者——AudioTrack有很大关联,所以我们特别将它的实现原理剖析放在这里,以使读者可以综合起来理解。路由器功能由如下几个部分组成:l 与发送方(AudioTrack)的接口就好像路由器首先要接收到一个I
2013-04-15 18:30:11
12314
1
原创 Android音频系统之AudioTrack(一)
1.1 AudioTrack1.1.1 AudioTrack应用实例对于Android应用开发人员来讲,音频回放最熟悉的莫过于MediaPlayer,而AudioTrack相信用的人相对会少很多。这是因为MediaPlayer提供了更完整的封装和状态控制,使得我们用很少的代码就可以实现一个简单的音乐播放器。而相比MediaPlayer,AudioTrack更为精练、高效,实际上MediaPlaye
2013-04-15 18:29:09
24883
7
原创 Android音频系统之AudioPolicyService
1.1 AudioPolicy Service在AudioFlinger小节,我们反复强调它只是策略的执行者,而AudioPolicyService则是策略的制定者。这种分离方式有效地降低了整个系统的藕合性,而且为各个模块独立扩展功能提供了保障。1.1.1 AudioPolicyService概述汉语中有很多与策略有关联的俗语,比如“因地制宜”、“具体问题具体分析”;战争中只遵照兵书制
2013-04-15 18:12:42
17470
1
原创 Android音频系统之AudioFlinger(四)
1.1.1 AudioMixer每一个MixerThread都有一个唯一对应的AudioMixer(在MixerThread中用mAudioMixer表示),它的作用如其名所表示的,就是为了完成音频的混音操作。 图 13‑14 MixerThread示意图 如上图,MixerThread对外开放的接口主要涉及到Parameter(比如setPar
2013-04-15 18:08:49
12739
3
原创 Android音频系统之AudioFlinger(三)
1.1.1 PlaybackThread的循环主体当一个PlaybackThread进入主循环后(threadLoop),音频事务就正式开启了。仔细观察的话,我们会发现这个循环中会不断地调用以“threadLoop_”开头的若干接口,比如threadLoop_mix、threadLoop_sleepTime、threadLoop_standby等等。以这样的前缀开头,是因为这些函数都是在thr
2013-04-15 18:06:15
15755
1
原创 Android音频系统之AudioFlinger(二)
1.1.1 音频设备的管理虽然AudioFlinger实体已经成功创建并初始化,但到目前为止它还是一块静态的内存空间,没有涉及到具体的工作。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多
2013-04-15 18:05:12
19838
2
原创 Android音频系统之AudioFlinger(一)
1.1 AudioFlinger在上面的框架图中,我们可以看到AudioFlinger(下面简称AF)是整个音频系统的核心与难点。作为Android系统中的音频中枢,它同时也是一个系统服务,启到承上(为上层提供访问接口)启下(通过HAL来管理音频设备)的作用。只有理解了AudioFlinger,才能以此为基础更好地深入到其它模块,因而我们把它放在前面进行分析。 1.1.1 AudioF
2013-04-15 18:01:24
32603
3
原创 Android音频系统之音频框架
1.1 音频框架转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492Android的音频系统在很长一段时间内都是外界诟病的焦点。的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的音乐播放软件开发商没有推出Android平台产品的一个重要原因。但这并不代表它的音
2013-04-13 11:58:12
43795
10
Network Security: Private Communication in a Public World, Second Edition
2010-09-21
《Site.Reliability.Engineering 》英文原版
2017-03-08
林学森的留言板
发表于 2020-01-02 最后回复 2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝