自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林学森的Android专栏

从系统实现的层面不断剖析Android相关开发知识

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

原创 本书版权输出到台湾地区,《深入理解Android内核设计思想》诚挚感谢大家一直以来的支持!

深入理解Android内核设计思想 android内核 全面 显示系统 音频系统 基础知识

2014-06-12 16:27:03 4854 10

原创 《深入理解Android内核设计思想》已陆续在全国各大书店及网上书店上市,感谢大家一直以来的支持~~

《深入理解Android内核设计思想》已陆续在全国各大书店上市,电子书店也在陆续上架中(不断增加):1. http://product.china-pub.com/3803721书本目录和一些章节内容将陆续与各位亲爱的读者们分享,感谢大家一直以来的支持和鼓励~~

2014-04-28 10:07:39 5540 22

原创 诚征书本封面啦

新书 诚征封面 建议

2013-12-16 12:52:01 4601 64

转载 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 1192 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 754

转载 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 903

转载 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 744

原创 Android虚拟机章节——1.3.2 ELF的加载和动态链接过程

android 虚拟机 ELF 动态链接 原理

2016-09-21 21:14:20 1814 1

原创 Handler, MessageQueue, Runnable与Looper

相信不少人对这几个概念深恶痛绝,因为它们“像雾像雨又像风”——自我感觉都很熟识,如果下一次再相遇,却又陌生得很。这种“隔靴搔痒”的感觉促使我们必须与这些“顽固分子”来个彻底的决断。 先不要想太多,任头脑中随意画下对这些概念的第一印象,如图5-5所示。 ▲图5 5 概念初探 图5-5是我们对这几个概念的“感官”释义,读者可以尝试着思考下是否和自己所想的基本一致。 那么,如果把这些概念糅

2015-03-27 22:59:04 3454 3

原创 我的Android4.3新书即将上市,同时有奖征书名

Android4.3 新书 基本原理 设计者理念 思考 有奖征书名

2013-08-25 15:11:48 6568 40

原创 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 10380 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 6760 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 6250

原创 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 8208 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 7452

原创 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 7377 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 11897 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 12096 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 7192 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 10935 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 8162 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 9079 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 15279 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 17595 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 11403 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 12917 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 9595

原创 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 17916 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 15974 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 12333 3

原创 Android进程线程之同步互斥(一)

1.1.1 Android中的同步与互斥Android系统也提供了自己的同步互斥机制,不过任何技术的本质都是类似的,更多的是把这些本质的东西应用到符合自己要求的场景。目前Android封装的同步互斥类包括:·          Mutex头文件在frameworks/native/include/utils/Mutex.h,因为实现与具体的平台有关,我们只关心如何使用它·          Con

2013-04-18 09:24:29 10447 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 10708

原创 Android音频系统之AudioTrack(二)

1.1.1 AudioPolicyService的路由实现我们在AudioPolicyService小节曾将其比作是一个“路由器”,不过还没有深入解析它是如何完成路由选择的。这部分的功能与使用者——AudioTrack有很大关联,所以我们特别将它的实现原理剖析放在这里,以使读者可以综合起来理解。路由器功能由如下几个部分组成:l  与发送方(AudioTrack)的接口就好像路由器首先要接收到一个I

2013-04-15 18:30:11 12276 1

原创 Android音频系统之AudioTrack(一)

1.1 AudioTrack1.1.1 AudioTrack应用实例对于Android应用开发人员来讲,音频回放最熟悉的莫过于MediaPlayer,而AudioTrack相信用的人相对会少很多。这是因为MediaPlayer提供了更完整的封装和状态控制,使得我们用很少的代码就可以实现一个简单的音乐播放器。而相比MediaPlayer,AudioTrack更为精练、高效,实际上MediaPlaye

2013-04-15 18:29:09 24443 7

原创 Android音频系统之AudioPolicyService

1.1 AudioPolicy Service在AudioFlinger小节,我们反复强调它只是策略的执行者,而AudioPolicyService则是策略的制定者。这种分离方式有效地降低了整个系统的藕合性,而且为各个模块独立扩展功能提供了保障。1.1.1 AudioPolicyService概述汉语中有很多与策略有关联的俗语,比如“因地制宜”、“具体问题具体分析”;战争中只遵照兵书制

2013-04-15 18:12:42 17338 1

原创 Android音频系统之AudioFlinger(四)

1.1.1 AudioMixer每一个MixerThread都有一个唯一对应的AudioMixer(在MixerThread中用mAudioMixer表示),它的作用如其名所表示的,就是为了完成音频的混音操作。 图 13‑14 MixerThread示意图 如上图,MixerThread对外开放的接口主要涉及到Parameter(比如setPar

2013-04-15 18:08:49 12690 3

原创 Android音频系统之AudioFlinger(三)

1.1.1 PlaybackThread的循环主体当一个PlaybackThread进入主循环后(threadLoop),音频事务就正式开启了。仔细观察的话,我们会发现这个循环中会不断地调用以“threadLoop_”开头的若干接口,比如threadLoop_mix、threadLoop_sleepTime、threadLoop_standby等等。以这样的前缀开头,是因为这些函数都是在thr

2013-04-15 18:06:15 15663 1

原创 Android音频系统之AudioFlinger(二)

1.1.1 音频设备的管理虽然AudioFlinger实体已经成功创建并初始化,但到目前为止它还是一块静态的内存空间,没有涉及到具体的工作。从职能分布上来讲,AudioPolicyService是策略的制定者,比如什么时候打开音频接口设备、某种Stream类型的音频对应什么设备等等。而AudioFlinger则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多

2013-04-15 18:05:12 19713 2

原创 Android音频系统之AudioFlinger(一)

1.1 AudioFlinger在上面的框架图中,我们可以看到AudioFlinger(下面简称AF)是整个音频系统的核心与难点。作为Android系统中的音频中枢,它同时也是一个系统服务,启到承上(为上层提供访问接口)启下(通过HAL来管理音频设备)的作用。只有理解了AudioFlinger,才能以此为基础更好地深入到其它模块,因而我们把它放在前面进行分析。 1.1.1 AudioF

2013-04-15 18:01:24 32396 3

原创 Android音频系统之音频框架

1.1 音频框架转载请注明,From LXS, http://blog.csdn.net/uiop78uiop78/article/details/8796492Android的音频系统在很长一段时间内都是外界诟病的焦点。的确,早期的Android系统在音频处理上相比于IOS有一定的差距,这也是很多专业的音乐播放软件开发商没有推出Android平台产品的一个重要原因。但这并不代表它的音

2013-04-13 11:58:12 43212 10

Adw launcher的源码

Adw launcher是非常受欢迎的android项目,并且它是开源的,这对想学习launcher开发的同学是不错的资源

2011-11-15

STL源文件剖析-台湾侯老师精典之作

STL入门提高必读之作,侯老师经典之作.为DOC文件类型

2011-03-21

LINUX 经典GTK图形编程

非常经典的教材,示例也很不错,希望对大家有帮助。

2010-11-03

LINUX基本命令集锦

linux基本命令的详细解释及使用,比较实用

2010-10-14

Network Security: Private Communication in a Public World, Second Edition

本书全面阐述了信息安全理论,全书共分五个部分,即密码学、认证、标准、电子邮件以及其他安全机制。其中,第一部分阐述了密码算法的基本原理以及各种经典的和现代的加密算法。第二部分介绍了如何在网络中证明身份、人在向设备证明自己的身份时可能碰到的问题、认证握手协议的细节以及协议可能存在的多种缺陷。第三部分讲述了一系列安全协议(如Kerberos,IPSec和SSL等)以及PKI的一些标准。第四部分讲述了电子邮件安全中的若干问题,列出了与电子邮件相关的几个安全特性,并描述了这些安全特性的具体实现方式。第五部分介绍了防火墙、各种操作系统的安全性问题、浏览网站时所涉及的协议以及对安全实践经验的总结。本书提供了章后习题,书后还给出了大量参考文献。 本书从日常应用入手,以简单易懂的方式阐述了深奥的理论,加之原作者文笔生动幽默,堪称风格独特。本书可作为相关专业高年级本科生和研究生的教学用书以及相关领域专业人员的参考用书。

2010-09-21

实战无线通信应知应会 完整版

实战无线通信应知应会 完整版

2019-04-16

失控 全人类的最终命运和结局

失控 全人类的最终命运和结局 凯文 凯利 失控 全人类的最终命运和结局 凯文 凯利

2018-12-09

百面机器学习 hulu

人工智能 面试 百面机器学习 hulu

2018-12-09

智能革命 李彦宏

智能革命 李彦宏

2018-12-09

智能革命_李彦宏

智能革命_李彦宏 智能革命_李彦宏 智能革命_李彦宏 智能革命_李彦宏

2018-01-18

硅谷之谜 吴军经典 《浪潮之巅》续集

硅谷之谜 吴军经典 《浪潮之巅》续集 硅谷之谜 吴军经典 《浪潮之巅》续集

2018-01-18

分布式服务框架

分布式 服务框架 开发 技术 经典书 分布式 服务框架 开发 技术 经典书

2018-01-18

Head first 设计模式

Head First设计模式

2017-03-08

单元测试之道Java版

单元测试之道Java版

2017-03-08

《Site.Reliability.Engineering 》英文原版

《Site.Reliability.Engineering 》英文原版,中文名《SRE:Google运维解密》

2017-03-08

自己动手写一个操作系统

利用开源软件,阐述如何自己动手写一个操作系统,包括计算机启动,保护模式设计等等

2009-05-19

林学森的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除