android 学习
文章平均质量分 83
tjy1985
北漂青年
展开
-
浅谈ANR及如何分析解决ANR(1)
<!--p {margin-bottom:0.08in}-->一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5原创 2011-09-15 10:51:04 · 8030 阅读 · 2 评论 -
ION 内存管理
what is ION? ION 内存管理从android4.0开始被引入ION模块是可扩展的(API都是统一的),支持各种形式的内存分配方式,可以表述不同的硬件资源和他们的一些限制ION 支持连续与不连续内存的分配ION 给Kernel and User space processes提供了相应的APIs 当前支持的memory typeION_HEAP_TYPE_CARV原创 2012-05-10 16:21:56 · 17179 阅读 · 2 评论 -
Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
在前面几篇文章中,我们详细介绍了Android系统进程间通信机制Binder的原理,并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现,这几篇文章分析的Binder接口都是基于C/C++语言来实现的,但是我们在编写应用程序都是基于Java语言的,那么,我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢?这就是本文要介绍的Android系统应用程序框架转载 2012-03-29 20:21:43 · 5626 阅读 · 0 评论 -
Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析
在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理。在这一篇文章中,我们将深入到Binder驱动程序源代码去分析Client是如何通过Service Manager的getService接口中来获得Server远程接口的。Client转载 2012-03-29 20:19:43 · 5272 阅读 · 0 评论 -
Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路中,介绍了在Android系统中Binder进程间通信机制中的Server角色是如何获得Service Manager远程接口的,即defaultServiceManager函数的实现。Server获得了Service Manager远程接口之后,就要转载 2012-03-29 20:17:06 · 3118 阅读 · 0 评论 -
浅谈Android系统进程间通信(IPC)机制Binder中的Server和Client获得Service Manager接口之路
在前面一篇文章浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路中,介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程,Service Manager的职责当然就是为Server和Client服务了。那么,Server和Client如何获得Service Manager接口,进而享受它提供的服务呢?本文转载 2012-03-29 20:12:50 · 7697 阅读 · 0 评论 -
Android进程间通信(IPC)机制Binder简要介绍和学习计划
在Android系统中,每一个应用程序都是由一些Activity和Service组成的,一般Service运行在独立的进程中,而Activity有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。 我们知道,Android系统是基于Linux内核的,而Lin转载 2012-03-29 20:08:20 · 1823 阅读 · 0 评论 -
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager,它是整个Binder机制的守护进程,用来管理开发者创建的各种Server,并且向Client提供查询Serve转载 2012-03-29 20:12:11 · 1749 阅读 · 1 评论 -
浅谈ANR及如何分析解决ANR(3)
<!--h1 {margin-top:0.33in; margin-bottom:0in; color:rgb(54,95,145)}h1.western {font-family:"Cambria",serif; font-size:14pt}h1.cjk {font-family:"DejaVu Sans"; font-style:normal; f原创 2011-09-15 13:54:01 · 9555 阅读 · 0 评论 -
android sw watchdog and How to Debug
Android 平台实现了一个软件的WatchDog来监护SystemServer。SystemServer无疑是Android平台中最重要的进程了,里面运行了整个平台中绝大多数的服务。在这个进程中运行着近50个线程,任何一个线程死掉都可能导致整个系统死掉。SystemServer退出反而问题不大,因为 init进程会重新启动它,但是它死锁就麻烦了,因为整个系统就没法动了。在 System原创 2012-02-10 10:56:09 · 4692 阅读 · 0 评论 -
Android telephony MMS 学习笔记
本文主要从以下几个方面来学习MMS在android系统中的处理:MMS初始化、MMS发送、MMS接收(包括push MMS接收和从MMSC中提取MMS内容)、MMS存储/删除等数据操作。Android MMS基本知识点一、MMS概述MMS是在短消息业务基础上发展起来的一种消息业务,它可以用于传送文字、图片、动画、音频和视频等多媒体信息。MMS采用"存储转发"的技术,用户创建的信息能够自原创 2012-02-02 13:58:05 · 16277 阅读 · 4 评论 -
android 短信的接收和发送处理
一 初始化 手机开机初始化调用GSMPhone 构造函数。GSMPhone (Context context, CommandsInterface ci, PhoneNotifier notifier, boolean unitTestMode)创建 mSMS = new GsmSMSDispatcher(this);该类继承于SMSDispatcher。类SMSDispat原创 2012-02-02 14:00:59 · 4939 阅读 · 1 评论 -
android Call的基本知识
call就是平时我们常用的通话功能,最基本的就是来电incoming call,拨打电话outgoing call,挂断电话hangupcall,一般来说拨打一方成为主叫方,接听方为被叫方。Call模块常用的一些名词有:1. dialing call拨打一路电话,对方尚未接听,主叫方等待被交接听的时候的状态即为dialing状态2. active call激原创 2012-02-02 14:20:18 · 10964 阅读 · 5 评论 -
Android GUI Architecture
androidGUI Architecture as follow:androidGUI系统由C语言的框架和JAVA语言的框架组成。C语言的核心如下:PixelFlingerlibui(框架库)SurfaceFlinger(Surface的管理)Skia图形图像引擎OpenGL3D引擎原创 2012-02-01 15:00:21 · 9230 阅读 · 0 评论 -
Android同步类:Mutex和Condition
Android提供了两个封装好的同步类,它们是Mutex和Condition。这是重量级的同步技术,一般内核都会有对应的支持。另外,OS还提供了简单的原子操作,这些也算是同步技术中的一种。下面分别来介绍这三种东西。1. 互斥类—MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源。在《Windows核心编程》①一书中,对于这种互斥访问有一个很形象的转载 2012-02-02 10:20:12 · 26261 阅读 · 1 评论 -
Android context(Application/Activity)与内存泄露
android中的context可以做很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。 比如一个activity的onCreate: [java] view plaincopyp转载 2012-02-02 09:54:34 · 1661 阅读 · 0 评论 -
android的启动过程
<!--p {margin-bottom:0.08in}-->Android的启动过程可以分为两个阶段,第一阶段是Linux的启动,第二阶段才是Android的启动,下面我们分别来了解一下具体的过程。本篇我们主要是研究android的启动过程,linu原创 2011-09-16 14:54:55 · 2036 阅读 · 0 评论 -
浅谈ANR及如何分析解决ANR(2)
<!--p {margin-bottom:0.08in}-->七:如何去分析ANR先看个LOG:04-01 13:12:11.572 I/InputDispatcher( 220): Application is not responding:原创 2011-09-15 10:52:33 · 20028 阅读 · 3 评论 -
Android Socket 实现
Android Socket 实现android是基于linux的操作系统,android中socket的实现也自然是基于linux的标准来。socket在android中的应用是非常广泛的,特别是在framework及以下层。那什么是socket?socket的类型有哪些?socket有哪些基本函数?我们都知道本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:原创 2013-05-06 10:21:12 · 7588 阅读 · 0 评论