博文视点(北京)官方博客

——技术凝聚实力 专业创新出版

Looper中的睡眠等待与唤醒机制

Looper中的睡眠等待与唤醒机制 C++类Looper中的睡眠和唤醒机制是通过pollOnce和wake函数提供的,它们又是利用操作系统(Linux内核)的epoll机制来完成的。当被监控的文件(通过epoll_ctl的EPOLL_CTL_ADD添加进去)可I/O时,epoll_wait调用会...

2013-01-29 13:13:13

阅读数:4721

评论数:0

Looper对文件描述符的监控与处理

Looper对文件描述符的监控与处理 上面提到的管道的读端是一种文件描述符,那么其他的文件描述符,如普通的文件、设备文件和套接字(包括套接字对)等的描述符,都可以被Looper用来监控,实现类似于上面的消息队列的唤醒和处理机制。通常,消息是通过消息队列发送的,也可以通过套接字(比如已建立好连接的...

2013-01-28 14:28:27

阅读数:1664

评论数:0

EventThread线程对VSync的接收

EventThread线程对VSync的接收 EventThread被设计用来接收VSync事件通知,并分发VSync通知给系统中的每一个感兴趣的注册者。VSync来源自底层硬件驱动程序的上报,对于Android能看到的接口来说,它是来自HAL层的hwc_composer_device的抽象硬件...

2013-01-25 13:50:34

阅读数:3723

评论数:0

EventThread线程对VSync的分发

EventThread线程对VSync的分发 前面提到,EventThread在接收到VSync后再将它们分发给感兴趣的注册者,分发的过程是在其线程循环threadLoop函数中完成的。读者也可以先阅读后面一节内容,先了解感兴趣的注册者如何得到VSync通知以及系统中可能存在哪些感兴趣的注册者后...

2013-01-24 15:41:13

阅读数:2734

评论数:0

深入剖析Android系统

深入剖析Android系统(基于Google发布的JellyBean原始代码,讲述Android系统的内部静态结构关系和内部运行机制,为你呈现原汁原味的Android代码分析大餐!) 杨长刚 著 ISBN 978-7-121-19374-3 2013年1月出版 定价:59.00元 464...

2013-01-24 15:02:19

阅读数:1620

评论数:0

用于处理分数的Objective-C类

现在,我们将用Objective-C定义一个实际的类,并学习如何使用类的实例。 同样,我们将先学习过程。因此,实际的程序范例可能不是特别实用,那些更加实际的内容将在稍后讨论。 假设要编写一个用于处理分数的程序,可能需要处理加、减、乘、除等运算。如果你还不知道什么是类,那么可以从一个简单的程序开...

2012-11-09 09:20:48

阅读数:1031

评论数:0

数据类型和常量

你已经遇到过Objective-C的基本数据类型int。回顾一下,声明为int类型的变量只能用于保存整型值,也就是不包含小数位数的值。 Objective-C还提供了另外3种基本数据类型:float、double和char。声明为float类型的变量可以存储浮点数(即包含小数位数的值)。doub...

2012-11-08 09:14:14

阅读数:1437

评论数:0

实例变量的访问及数据封装

你已经看到处理分数的方法如何通过名称直接访问两个实例变量numerator和denominator。事实上,实例方法总是可以直接访问它的实例变量的。然而,类方法则不能,因为它只处理本身,并不处理任何类实例(仔细想想)。但是,如果要从其他位置访问实例变量,例如,从main函数内部来访问,该如何实现?...

2012-11-07 09:07:21

阅读数:1106

评论数:0

Objective-C的算术表达式

在Objective-C中,事实上与所有的程序设计语言一样,在两个数相加时使用加号(+),在两个数相减时使用减号(-),在两个数相乘时使用乘号(*),在两个数相除时使用除号(/)。这些运算符称为二元算术运算符,因为它们运算两个值或项。 运算符的优先级 你已经看到如何在Objective-C中执...

2012-11-06 09:58:13

阅读数:2592

评论数:0

Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划

前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了SurfaceFlinger服务。有了这些预备知识之后,我们就可以从正面来分析SurfaceFlinger服务的实现原理了。SurfaceFlinger服务负责管理系统的帧缓冲区设备,并且负责渲染系统的U...

2012-11-05 16:55:25

阅读数:1003

评论数:0

Android应用程序与SurfaceFlinger服务的关系概述和学习计划 .

SurfaceFlinger服务负责绘制Android应用程序的UI,它的实现相当复杂,要从正面分析它的实现不是一件容易的事。既然不能从正面分析,我们就想办法从侧面分析。说到底,无论SurfaceFlinger服务有多复杂,它都是为Android应用程序服务的,因此,我们就从Android应用程序...

2012-11-02 11:12:28

阅读数:826

评论数:0

Android应用程序组件Content Provider简要介绍和学习计划 .

在Android系统中,Content Provider作为应用程序四大组件之一,它起到在应用程序之间共享数据的作用,同时,它还是标准的数据访问接口。前面的一系列文章已经分析过Android应用程序的其它三大组件(Activity、Service和Broadcast Receiver)了,本文将简...

2012-11-02 10:57:29

阅读数:1012

评论数:0

Android系统中的广播(Broadcast)机制简要介绍和学习计划 .

在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制;这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用;本文通过一个简单的例子来学习Android系统的广播机制,为后续分析广播机制的源代码作准备。        ...

2012-11-01 13:31:20

阅读数:853

评论数:0

Android应用程序的Activity启动过程简要介绍和学习计划 .

在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Activity和Service,以及提供Binder机制帮助它们相互间进行通信。在前面的文章Andr...

2012-11-01 10:42:37

阅读数:1196

评论数:0

Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划

在Android系统中,提供了独特的匿名共享内存子系统Ashmem(Anonymous Shared Memory),它以驱动程序的形式实现在内核空间中。它有两个特点,一是能够辅助内存管理系统来有效地管理不再使用的内存块,二是它通过Binder进程间通信机制来实现进程间的内存共享。本文中,我们将通...

2012-10-31 08:52:07

阅读数:2112

评论数:0

Android进程间通信(IPC)机制Binder简要介绍和学习计划

在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Bind...

2012-10-31 08:37:02

阅读数:1611

评论数:0

Android硬件抽象层(HAL)概要介绍和学习计划

Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核...

2012-10-30 14:32:59

阅读数:1205

评论数:0

Android系统源代码情景分析

Android系统源代码情景分析(含CD光盘1张) (全面、深入、细致地掌握Android,引领移动互联网新时代!) 罗升阳 著 ISBN978-7-121-18108-5 2012年10月出版 定价: 109.00元(含光盘1张) 16开 840页 全面、深入、细致地掌握Andr...

2012-10-30 14:01:17

阅读数:3646

评论数:0

“李刚畅谈Java编程人生”讲座

讲座主题:李刚畅谈Java编程人生 时间:2012年9月23日13:30-16:00 地点:中关村图书大厦五层多功能厅 主讲人:李刚 讲座内容: 1、 主要内容: 疯狂的本质是享受像编程一样生活,人生更快乐程序员职业生涯总结、展望享受探索,享受创业享受编程,享受生活。 2、读者自由提问...

2012-09-18 16:49:57

阅读数:2499

评论数:0

远程支付技术方案

远程支付技术方案 远程支付,指用户与商户不需要面对面交互,而是使用移动终端通过无线通信网络,与后台服务器进行交互,由服务器端完成交易处理的支付方式。 按照使用的技术类型,远程支付技术方案主要包括短信支付、客户端(无卡)支付、智能卡支付和智能终端外设支付四种技术方案。 ◎      短信支付:...

2012-07-12 16:27:54

阅读数:3879

评论数:0

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