- 博客(57)
- 资源 (22)
- 收藏
- 关注
转载 浅谈Android系统开发中LOG的使用
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。 一. 内核开发时LOG的使用。Android内核是基于Linux Kerne 2.36的,因
2013-09-02 13:49:19
693
转载 Android GDI之Surface&Canvas
Surface&Canvas Canvas为在画布的意思。Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装。drawPaints ,drawPoints,drawRect,drawBitmap ...1 Canvas与Surface之间本质关系 对于本节,我们不去研究Skia图形引擎本身,我们需要了解的
2013-09-02 13:41:22
811
转载 Android GDI之SurfaceFlinger
Android GDI之SurfaceFlingerSurfaceFinger按英文翻译过来就是Surface投递者。SufaceFlinger的构成并不是太复杂,复杂的是他的客户端建构。SufaceFlinger主要功能是:1) 将Layers (Surfaces) 内容的刷新到屏幕上2) 维持Layer的Zorder序列,并对Layer最终输出做出裁剪计算。3)
2013-09-02 13:39:55
763
转载 Android GDI 之SurfaceFlinger之动态结构
SurfaceFlinger对象建立过程示意 1 SurfaceSession的建立 客户端请求建立Surface时,首先在要与SurfaceFlinger建立一个Session,然后再Session上建立一个Connection通过概念返回Bclient对象。WindowManagerService在添加第一个窗口前会检查SurfaceSession是否建立,如何没
2013-09-02 13:39:44
594
转载 Android GDI之共享缓冲区机制
Androird GDI之共享缓冲区机制1 native_handle_t对private_handle_t 的包裹 private_handle_t是gralloc.so使用的本地缓冲区私有的数据结构,而Native_handle_t是上层抽象的可以在进程间传递的数据结构。在客户端是如何还原所传递的数据结构呢?首先看看native_handle_t对privat
2013-09-02 13:39:07
654
转载 Andoird GDI之基本原理及其总体框架
Android GDI基本框架 在Android中所涉及的概念和代码最多,最繁杂的就是GDI相关的代码了。但是本质从抽象上来讲,这么多的代码和框架就干了一件事情:对显示缓冲区的操作和管理。 GDI主要管理图形图像的输出,从整体方向上来看,GDI可以被认为是一个物理屏幕使用的管理器。因为在实际的产品中,我们需要在物理屏幕上输出不同的窗口,而每个窗口认为自己独占屏幕的使用,
2013-09-02 13:37:16
657
转载 Android GDI之显示缓冲管理
Android GDI之屏幕设备管理-动态链接库 万丈高楼从地起,从最根源的硬件帧缓冲区开始。我们知道显示FrameBuffer在系统中就是一段内存,GDI的工作就是把需要输出的内容放入到该段内存的某个位置。我们从基本的点(像素点)和基本的缓冲区操作开始。1 基本知识1.1点的格式 对于不同的LCD来讲,FrameBuffer的二进制格式不一样,
2013-09-02 13:37:04
810
转载 Android应用框架之Activity
3 Activity设计框架3.1 外特性空间的Activity 我们先来看看,Android应用开发人员接触的外特性空间中的Activity,对于AMS来讲,这个Activity就是客服端的Activity。应用程序员在建立Android应用时,构建Activity的子类就是Andoid外特性空间展现的接口。我们可以从下面的简单的例子描述看看Activity,到底如何建立的。D
2013-09-02 13:34:44
583
转载 Android应用框架之AndroidApplication
Android Application Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征。在Android实际空间中看不到实际意义上的应用程序的概念,即使有一个叫Application的类,这个也就是个应用程序上下文状态,是一个极度弱化的概念。Application只是一个空间范畴的概念,Application就是Activ
2013-09-02 13:32:17
549
转载 Android应用程序框架
Android应用程序框架1 无边界设计理念 Android的应用框架的外特性空间的描述在SDK文档(http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask)有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述。在外特性空间中,Android提供了Act
2013-08-20 14:20:52
562
转载 Android电话系统之GSMCallTracker
Android电话系统之GSMCallTracker通话连接管理GSMCallTracker在本质上是一个Handler。GSMCallTracker是Android的通话管理层。GSMCallTracker建立了ConnectionList来管理现行的通话连接,并向上层提供电话调用接口。在GSMCallTracker中维护着通话列表:con
2013-08-20 14:20:24
939
转载 Android RIL-Java
Android RIL-Java RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为RILReque
2013-08-20 14:19:20
603
转载 Android电话系统之-rild
Android电话系统之-rildRild是Init进程启动的一个本地服务,这个本地服务并没有使用Binder之类的通讯手段,而是采用了socket通讯这种方式。RIL(Radio Interface Layer)Android给出了一个ril实现框架。由于Android开发者使用的Modem是不一样的,各种指令格式,初始化序列都可能不一样,GSM和CDMA就差别更大了,所以为了消
2013-08-20 14:17:51
586
转载 Android电话系统之概述篇
Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC。但是作为一个电话的基本功能如下:0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM管理1)由于电话运营商为我们提供了呼叫等待,
2013-08-20 14:17:16
782
转载 Android用户事件输入路径
Android用户事件输入路径 1 输入路径的一般原理 按键,鼠标消息从收集到最终将发送到焦点窗口,要经历怎样的路径,是Android GWES设计方案中需要详细考虑的问题。按键,鼠标等用户消息消息的处理可分为不同的情况进行判定:(1)用户输入根据系统状况是否应该派送。如在ScreenOff的情况下,在按键属于特殊按键的情况下等(2)是否有
2013-08-20 14:16:05
920
转载 Android输入系统
Android输入系统 依照惯例,在研究Android输入系统之前给出输入系统的本质描述:从哲学的观点来看,输入系统就是解决从哪里来又将到哪里去问题。输入的本质上的工作就是收集用户输入信息并放置到目标位置。 Android在源代码分类上,并没有输入系统分类。本章的输入系统研究是一个综合的分析,前面的GWES的分析,特别是View的Focus Path以及Window Ma
2013-08-20 14:15:33
605
转载 Android GWES之Android窗口管理
Android GWES之Android窗口管理1基本构架原理 Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowMa
2013-08-20 14:15:08
536
转载 Android GWES之窗口管理之基本构架原理
Android GWES之窗口管理之基本构架原理Android的窗口管理是C/S模式的。Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View我称之为主View,DecorView会缺省的attach到Activity的主窗口中。主View被加入到WindowManager中,WM使用Window
2013-08-20 14:08:03
528
转载 Android GWES之Android消息系统
Android GWES之Android消息系统Looper,Handler,View 我们要理解Android的消息系统,Looper,Handle,View等概念还是需要从消息系统的基本原理及其构造这个源头开始。从这个源头,我们才能很清楚的看到Android设计者设计消息系统之意图及其设计的技术路线。 消息系统的基本原理 从一
2013-08-20 14:07:28
532
转载 Android GWES 基本框架篇
Android GWES基本框架篇 我这里的GWES这个术语实际上从Microsoft 的Window上移植过来的,用GWES来表示Android的窗口事件系统不是那么准确,在Android中Window是个弱化了的概念,更多的表现在View这个概念上。在很大程度上,Android的View的概念可以代替Microsoft Window这个概念,有点和Microsof暗中较
2013-08-20 14:06:43
452
转载 Zygote Service
Zygote Service 在本章我们会接触到这两个单词:Zygote [生物] 受精卵, 接合子, 接合体Spawn:产卵通过这两个单词,我们就可以大体知道Zygote是干什么的了,就是叫老母鸡下蛋。通过“Zygote”产出不同的子“Zygote”。从大的架构上讲,Zygote是一个简单的典型C/S结构。其他进程作为一个客服端向Zygote发出”孵化”请求,Zy
2013-08-20 14:06:12
527
转载 Service深入分析
Service深入分析 上一章我们分析了Android IPC架构,知道了Android服务构建的一些基本理念和原理,本章我们将深入分析Android的服务。Android体系架构中三种意义上服务: Native服务 Android服务 Init空间的服务,主要是属性设置,这个IPC是利用Socket来完成的,这个我将在另外一章来讨论。Navite服务,实际上就是指
2013-08-20 14:05:35
726
转载 IPC框架分析 Binder,Service,Service manager
IPC框架分析 Binder,Service,Service manager 我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是
2013-08-20 14:05:02
512
转载 基本空间划分
基本空间划分Google给了我们一张系统架构图,在这张图上我们可以看到Android的大体框架组成。 从上图可以看到:Android Applications,Application Framework,Dalvik Virtual Machine,Linux。如果将Android泛化,我们可以将系统划分成两部分:
2013-08-20 14:04:22
542
转载 手机的软件形态
手机的软件形态 上节我给出了手机的硬件树,本节将给出手机软件形态树。主要突出手机软件涵盖的内容。通过该思维导图,我们可以看到手机软件所涉及到的方方面面,Android所涉及到的内容也不会超过下面所示太多,这个也是Andoid系统外特性空间所要展示的,这个也是Android设计者需要考虑管理的大部分内容,通过下面的整理,我们可以让我们的思维更加贴近Android设计意图,从而更深入
2013-08-20 14:03:50
568
转载 手机硬件形态
手机硬件形态本节可能与Android无关,但是Android系统现在这个阶段更多的是移动终端形态的开发平台,本节给出了Android背后的工作-Android管理的硬件是什么,Android的本质就是要管理好这些硬件部分,为用户提供一个体验更好,速度更快的智能移动终端。对手机硬件形态的认识是要让我们对手机硬件组成有个感性的认识,让程序员知道系统中的代码是管理那一部分的,即我们堆砖头的目的是
2013-08-20 14:03:18
543
转载 方法论探讨之概念空间篇
方法论探讨之概念空间篇 我们潜意识就不想用计算机的方式来思考问题,我们有自己的思维描述方式,越是接近我们思维描述方式,我们越容易接受和使用。各种计算机语言,建模工具,不外乎就是建立一个更接近人的思维方式的概念空间,再使用工具从该概念空间向另外一个概念空间映射,我称之为人性思维空间向01序列描述空间的一个映射。实现方面来看,系统就是一个翻译器,将机器性更
2013-08-20 14:02:53
571
转载 分析方法论探讨之设计意图
分析方法论探讨之设计意图 为什么要研究Android,是因为它够庞大,它够复杂,他激起了我作为一个程序员的内心的渴望,渴望理解这种复杂性。我研究的对象是作为手机开发平台的Android软件系统部分,而不是Dalvik虚拟机本身。作为一个从其他平台装接过来的程序员,要从事Andoid平台系统开发,我的关于手机平台上积累的知识已经不能满足需要了,Android为我们带来了大量的
2013-08-20 14:02:08
558
转载 Android 启动过程详解
Android从Linux系统启动有4个步骤;(1) init进程启动(2) Native服务启动(3) System Server,Android服务启动(4) Home启动总体启动框架图如: 第一步:initial进程(system/core/init) init进程,它是一个由内核
2013-08-20 14:00:38
498
转载 Android四大组件:Activity、Service、BroadCast Recevicer、Content provider
ActivityActivity是用户和应用程序交互的窗口,一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。一个activity相当于我们实际中的一个网页,当打开一个屏幕时,之前的那一个屏幕会被置
2013-08-09 16:46:30
829
转载 Android与linux的区别与联系
大家都知道Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧,本文将开始对Android的内核进行剖析,主要介绍Android和Linux之间的关系,后续还会讲到Android系统在Linux系统之上扩展的部分功能和驱动。 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加
2013-08-09 16:32:01
603
转载 CListCtrl控件使用方法总结
CListCtrl控件使用方法总结今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListC
2013-06-04 14:35:37
480
转载 Android逆向分析必备网址大全
文章链接:http://blog.youkuaiyun.com/jiazhijun/article/details/8815175以下是本人在日常的应用安全分析及Android病毒分析中收集的与Android逆向分析相关的工具网站,欢迎博友提供未收录的网址。androidterm: Android Terminal Emulator http://code.goog
2013-04-24 11:42:58
710
转载 Android优秀开源项目大全
文章链接:http://blog.youkuaiyun.com/jiazhijun/article/details/8815258以下是本人日常工作中收集的比较不错的Android开源项目,欢迎博友提供未收录的网址。roottools: RootTools gives Rooted developers easy access to common roote
2013-04-24 11:41:30
453
转载 手把手教你把Vim改装成一个IDE编程环境(图文)
原文出自:http://blog.youkuaiyun.com/wooin/article/details/18589171写在前面Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡
2013-04-24 11:32:04
538
转载 Linux Crontab 定时任务 命令详解
一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如:[root@dave ~]# cat /etc/crontabSHEL
2013-04-24 11:07:28
464
转载 gdb调试工具简介【二】
转载自:http://blog.youkuaiyun.com/xjtuse_mal/article/details/1430369gdb 的常用命令 命令 解释 break NUM 在指定的行上设置断点。 bt 显示所有的调用栈帧。该命令可用来显示函数的调用顺序。 clear 删除设置在特定源文件、特定行上的断点。其用法为clear FILENAME:NUM
2013-04-23 16:31:13
496
转载 gdb调试工具简介【一】
转载自http://blog.youkuaiyun.com/xjtuse_mal/article/details/1430367一:列文件清单 1. List (gdb) list line1,line2二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不
2013-04-23 16:30:23
509
转载 用gcc编译生成动态链接库*.so文件的方法
linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下命令查看*.la文件的格式 $file *.la
2013-04-23 14:03:05
3805
转载 windows下使用MinGW+msys编译ffmpeg
转至:http://blog.chinaunix.net/uid-20718335-id-2980793.htmlwindows下使用MinGW+msys编译ffmpeg 本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处。 FFmpeg是在Linux平台下开发
2013-04-19 15:01:43
686
Windows驱动开发技术详解--书
2012-09-13
Windows驱动开发技术详解
2010-09-15
OOP with Microsoft VB.NET and C# Step By Step
2009-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人