
Android Framework
文章平均质量分 80
MARTINGANG
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android系统匿名共享内存(Anonymous Shared Memory)C++调用接口分析
在Android系统中,针对移动设备内存空间有限的特点,提供了一种在进程间共享数据的机制:匿名共享内存,它能够辅助内存管理系统来有效地管理内存,它的实现原理我们在前面已经分析过了。为了方便使用匿名共享内存机制,系统还提供了Java调用接口(MemoryFile)和C++调用接口(MemoryHeapBase、MemoryBase),Java接口在前面也已经分析过了,本文中将继续分析它的C++接口。转载 2012-10-07 11:20:40 · 844 阅读 · 0 评论 -
android HAL层开发基础
Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念1,源代码和目标位置源代码: /hardware/libhardware目录,该目录的目录结构如下:/hardware/libhardware/hardware.c编译成libhardware.so,目标位置为/system/lib目录/hardware/libhardware/inc转载 2012-10-11 21:05:34 · 817 阅读 · 0 评论 -
Android深入浅出之Zygote
Android深入浅出之Zygote一 目的zygote,是Android搞出来的一个东西。网上讲这个的也非常多。第一次看到这个名字我就挺郁闷,想干嘛这是?Linux下名字都取得挺通俗易懂,深得人心。zygote?不就想模仿Linux下的fork吗?个人觉得Google取名字挺怪,包括Google本身。不管怎样,Zygote依然是Android系统的核心,zygote是受精卵的意思,可转载 2012-10-07 11:38:32 · 567 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制目录ProcessStatedefaultServiceManagerBpBinderIServiceManagerBpServiceManagerMediaPlayerServiceaddServiceBnServiceManagerServiceManager存在的意义MediaPlayerService打开binderlooper转载 2012-10-08 09:54:59 · 444 阅读 · 0 评论 -
Android Looper和Handler分析
Android Looper和Handler分析 第一次接触android应用程序(这里指的是JAVA层的UI程序,也难怪了,Google放出的API就只支持JAVA应用程序了),很难搞明白内部是如何实现的。但是,从原理上分析,应该是有一个消息循环,一个消息队列,然后主线程不断得从消息队列中取得消息并处理之。然而,google封装得太厉害了,所以一时半会还是搞不清楚到底是怎么做的。本文转载 2012-10-08 09:54:16 · 475 阅读 · 0 评论 -
Android进程间通信IPC机制Binder
Android进程间通信(IPC)机制Binder简要介绍和学习计划 在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间转载 2012-10-08 09:53:11 · 1575 阅读 · 0 评论 -
浅谈Android系统开发中LOG的使用
浅谈Android系统开发中LOG的使用 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。 一. 内核开发时LOG的使用。转载 2012-10-08 09:50:52 · 698 阅读 · 0 评论 -
mediarecorder调用流程
MediaRecordertest.javaMediaRecorder.javaandroid_media_mediarecorder.cppMediaRecorder.cpp(BpMediaRecorder) | Binder | MediaPlayerService::createMediaRecorder new MediaRecorderClient原创 2012-10-08 09:49:39 · 2144 阅读 · 0 评论 -
Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析
Android系统匿名共享内存Ashmem(Anonymous Shared Memory)在进程间共享的原理分析 在前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析中,我们系统地介绍了Android系统匿名共享内存的实现原理,其中着重介绍了它是如何辅助内存管理系统来有效地管理内存的,在再前面一篇文章A转载 2012-10-07 11:39:42 · 779 阅读 · 0 评论 -
Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析
Android系统的运行时库层代码是用C++来编写的,用C++来写代码最容易出错的地方就是指针了,一旦使用不当,轻则造成内存泄漏,重则造成系统崩溃。不过系统为我们提供了智能指针,避免出现上述问题,本文将系统地分析Android系统智能指针(轻量级指针、强指针和弱指针)的实现原理。 在使用C++来编写代码的过程中,指针使用不当造成内存泄漏一般就是因为new了一个对象并且使用完之转载 2012-10-07 11:29:04 · 1013 阅读 · 0 评论 -
Android应用程序键盘(Keyboard)消息处理机制分析
在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的;在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。转载 2012-10-07 11:25:38 · 1537 阅读 · 0 评论 -
Android应用程序线程消息循环模型分析
我们知道,Android应用程序是通过消息来驱动的,即在应用程序的主线程(UI线程)中有一个消息循环,负责处理消息队列中的消息。我们也知道,Android应用程序是支持多线程的,即可以创建子线程来执行一些计算型的任务,那么,这些子线程能不能像应用程序的主线程一样具有消息循环呢?这些子线程又能不能往应用程序的主线程中发送消息呢?本文将分析Android应用程序线程消息处理模型,为读者解答这两个问题转载 2012-10-07 11:23:03 · 558 阅读 · 0 评论 -
Android系统进程Zygote启动过程的源代码分析
Android系统进程Zygote启动过程的源代码分析 在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本文将详细分析它的启动过程。 在前面一篇文章Android应转载 2012-10-07 11:37:40 · 580 阅读 · 0 评论 -
Android日志系统Logcat源代码简要分析
Android日志系统Logcat源代码简要分析 在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层、系统运行库层和应用程序框架层日志系统相关的源代码,其中,后一篇文章着重介绍了日志的写入操作。为了描述完整性,这篇文章着重介绍日志的读取操作,这就是我们在开发Androi转载 2012-10-08 09:51:20 · 707 阅读 · 0 评论 -
Android应用程序消息处理机制(Looper、Handler)分析
Android应用程序是通过消息来驱动的,系统为每一个应用程序维护一个消息队例,应用程序的主线程不断地从这个消息队例中获取消息(Looper),然后对这些消息进行处理(Handler),这样就实现了通过消息来驱动应用程序的执行,本文将详细分析Android应用程序的消息处理机制。 前面我们学习Android应用程序中的Activity启动(Android应用程序启动过程源代码分析转载 2012-10-07 11:27:04 · 744 阅读 · 0 评论 -
Android Service是什么
Service是Android系统提供的四大组件之一,它的地位和Activity的并列的,只不过没有Activity的使用频率高。顾名思义Service就是运行在后台的一种服务程序,一般情况下,很少和用户交互,最大的特点就是没有可视化界面。 定义一个Service类只要继承Service类,实现其生命周期中的方法就可以了。一个定义好的Service必须在AndroidMa转载 2012-10-12 20:42:13 · 2491 阅读 · 0 评论