上一页 1 ··· 76 77 78 79 80 81 82 83 84 ··· 140 下一页
摘要: 背景想到这个题目是因为 @lijiefei 某天跟我说他有师弟面淘宝时被问到 "点击率预估的目标到底是什么", 笨狗当时胡乱扯了一通, 发现要把这个似乎已经是真理的事情掰清楚还没那么容易, 于是有此念想写文一篇详细分析下原因我和 jiefei 认识是在百度做搜索广告的时候, 那就从搜索广告开始说为什么要预估点击率, 以及预估点击率的目标. 先申明一些名词和假定:1) 每个广告 (Ad) 有一个出价 (Bid), 并有其在某情形下实际的点击率 (Click-Through-Rate, CTR)2) 广告按点击收费 (Charge per Click, CPC), 下面我们会分 阅读全文
posted @ 2013-05-22 23:16 知识天地 阅读(1312) 评论(0) 推荐(1)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/7884628前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了。连接上SurfaceFlinger服务之后,Android应用程序就可以请求SurfaceFlinger服务创建Surface。而当有了Surface后,Android应用程序就可以用来渲染自己的UI了。在本文中,我们将详细分析Android应用程序请求SurfaceFlinger服务创建Surface的过程。 在讲述Android应用程序请求SurfaceFlinger服务创建Sur.. 阅读全文
posted @ 2013-05-22 22:56 知识天地 阅读(1268) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/7867340在前面一篇文章中,我们分析了Android应用程序与SurfaceFlinger服务的连接过程。Android应用程序成功连接上SurfaceFlinger服务之后,还需要一块匿名共享内存来和SurfaceFlinger服务共享它的UI元数据,以便使得SurfaceFlinger服务可以正确地为它创建以及渲染Surface。在本文中,我们将详细地分析这块用来保存UI元数据的匿名共享内存的创建过程。 在Android应用程序与SurfaceFlinger服务的关系概述和学习.. 阅读全文
posted @ 2013-05-22 22:55 知识天地 阅读(425) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/7857163 前文在描述Android应用程序和SurfaceFlinger服务的关系时提到,每一个有UI的Android应用程序都需要与SurfaceFlinger服务建立一个连接,以便可以通过这个连接来请求SurfaceFlinger服务为它创建和渲染Surface。在本文中,我们将以Android系统的开机动画应用程序为例,详细描述Android应用程序是如何与SurfaceFlinger服务建立连接的。 Android系统的开机动画是由应用程序bootanimation来实现.. 阅读全文
posted @ 2013-05-22 22:54 知识天地 阅读(332) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/7747932 前面在介绍Android系统的开机画面时提到,Android设备的显示屏被抽象为一个帧缓冲区,而Android系统中的SurfaceFlinger服务就是通过向这个帧缓冲区写入内容来绘制应用程序的用户界面的。Android系统在硬件抽象层中提供了一个Gralloc模块,封装了对帧缓冲区的所有访问操作。本文将详细分析Gralloc模块的实现,为后续分析SurfaceFlinger服务的实现打下基础。 在前面Android系统的开机画面显示过程分析一文中提到,Linux内核.. 阅读全文
posted @ 2013-05-22 22:53 知识天地 阅读(4746) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/7691321好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺。提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了。Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段。本文将详细分析这三个开机画面的显示过程,以便可以开启我们对Android系统UI实现的分析之路。 第一个开机画面是在内核启动的过程中出现的,它是一个静态的画面。第二个开机画.. 阅读全文
posted @ 2013-05-22 22:51 知识天地 阅读(3671) 评论(1) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/8062945在前面两篇文章中,我们分析了SurfaceFlinger服务的启动过程以及SurfaceFlinger服务初始化硬件帧缓冲区的过程。从这两个过程可以知道,SurfaceFlinger服务在启动的过程中,一共涉及到了三种类型的线程,它们分别是Binder线程、UI渲染线程和控制台事件监控线程。在本文中,我们就将详细分SurfaceFlinger服务的线程模型,即上述三种类型的线程是如何运行和交互的。 从Android系统Surface制的SurfaceFlinger服务的启.. 阅读全文
posted @ 2013-05-22 08:00 知识天地 阅读(583) 评论(0) 推荐(0)
摘要: 在前文中,我们分析了SurfaceFlinger服务的启动过程。SurfaceFlinger服务在启动的过程中,会对系统的硬件帧缓冲区进行初始化。由于系统的硬件帧缓冲区一般只有一个,并且不是谁都可以随便访问的,因此,它就需要由一个服务来统一管理。在Android系统中,这个服务便是SurfaceFlinger。在本文中,我们就详细分析SurfaceFlinger服务是如何管理系统的硬件帧缓冲区的。 从前面Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划一文可以知道,SurfaceFlinger服务通过一个GraphicPlane对象来描述系统的显示... 阅读全文
posted @ 2013-05-22 07:54 知识天地 阅读(3549) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/8022957在前面一篇文章中,我们简要介绍了Android系统Surface机制中的SurfaceFlinger服务。SurfaceFlinger服务是在System进程中启动的,并且负责统一管理设备的帧缓冲区。SurfaceFlinger服务在启动的过程中,会创建两个线程,其中一个线程用来监控控制台事件,而另外一个线程用来渲染系统的UI。在本文中,我们就将详细分析SurfaceFlinger服务的启动过程。 从前面Android系统进程Zygote启动过程的源代码分析一文可以知道,.. 阅读全文
posted @ 2013-05-22 07:53 知识天地 阅读(629) 评论(0) 推荐(0)
摘要: 出自:http://blog.csdn.net/luoshengyang/article/details/8010977前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了SurfaceFlinger服务。有了这些预备知识之后,我们就可以从正面来分析SurfaceFlinger服务的实现原理了。SurfaceFlinger服务负责管理系统的帧缓冲区设备,并且负责渲染系统的UI,即各个应用程序的UI。在本文中,我们就简要介绍SurfaceFlinger服务,并且制定学习计划。 在前面Android应用程序与SurfaceFlinger服务的关系概述和.. 阅读全文
posted @ 2013-05-22 07:26 知识天地 阅读(245) 评论(0) 推荐(0)
上一页 1 ··· 76 77 78 79 80 81 82 83 84 ··· 140 下一页