【php – Android对服务器执行分析请求】教程文章相关的互联网学习教程文章

【原创】源码角度分析Android的消息机制系列(五)——Looper的工作原理【代码】

ι 版权声明:本文为博主原创文章,未经博主允许不得转载。 Looper在Android的消息机制中就是用来进行消息循环的。它会不停地循环,去MessageQueue中查看是否有新消息,如果有消息就立刻处理该消息,否则就一直等待。Looper中有一个属性:staticfinal ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>();这也就解释了,前面我们所说的我们可以通过ThreadLocal实现Looper在线程中的存取。除此之外,还有两个属性需要注...

Android 7.0 ActivityManagerService(5) 广播(Broadcast)相关流程分析【代码】【图】

本篇博客旨在分析Android中广播相关的源码流程。一、基础知识 广播(Broadcast)是一种Android组件间的通信方式。 从本质上来看,广播信息的载体是intent。在这种通信机制下,发送intent的对象就是广播发送方,接收intent的对象就是广播接收者。 在Android中,为广播接收者定义了一个单独的组件:BroadcastReceiver。1 BroadcastReceiver的注册类型 在监听广播前,要将BroadcastReceiver注册到系统中。 BroadcastReceiver总体上...

Android 进阶 - Activity服务启动分析【代码】【图】

前面已经介绍了如何创建一个应用服务,如何创建一个系统服务,这里我把Android服务分为:应用服务(ActivityService),系统服务(SystemService),分类是否正确也不清楚,网上并没有资料明确定义,之所以这样分类,因为应用服务放在ActiveServices中管理,而系统服务放在ServiceManager中管理,两者存在明显的不同。由于Android设计时已经把中间层标准化了,我们实现一个服务时,只需要简单实现服务端(Native)和调用端(Proxy)...

Android4.0 Surface机制分析【代码】【图】

1. java层面的Surface 对于Surface我们的认识主要是android的类Surface, android的文档描述Surface是“Handle onto a raw buffer that is being managed by the screen compositor”,这个描述透漏出两个信息:首先,Surface是一个raw buffer的句柄,通过它去管理一个raw buffer,其次,Surface本身是由screen compositor来管理的。但是raw buffer具体是什么,screen compositor又是什么,Surface是如何管理一个raw buffe...

Android LayoutInflater原理分析,带你一步步深入了解View(一)

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋 友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。 其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到。那么今天我们就来把LayoutInflater的工作流程仔细地剖析一遍,也许还能解决...

Android LayoutInflater原理分析,带你一步步深入了解View(一)

相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的。而刚接触Android的朋 友可能对LayoutInflater不怎么熟悉,因为加载布局的任务通常都是在Activity中调用setContentView()方法来完成的。 其实setContentView()方法的内部也是使用LayoutInflater来加载布局的,只不过这部分源码是internal的,不太容易查看到。那么今天我们就来把LayoutInflater的工作流程仔细地剖析一遍,也许还能解决...

Android使用Messenger进行Service IPC通信分析【图】

如果想要进行IPC通信,一般写一个AIDL接口,再写一个Service子类,然后实现AIDL接口 当做IBinder返回给Activity界面层。如果不想写AIDL接口文件,只是单I线程中与Service进行通信 我们可以用Android写好的Messenger类来处理,一样能将消息传递给Service进行通信。先写上基本代码:public class MyService extends Service {Messenger messenger = null;public MyService() {}@Overridepublic void onCreate() {super.onCreate();me...

[Android]Volley源码分析(肆)应用

通过前面的讲述,相信你已经对Volley的原理有了一定了解。本章将举一些我们能在应用中直接用到的例子,第一个例子是NetworkImageView类,其实NetworkImageView顾名思义就是将异步的操作封装在了控件本身,这种设计可以充分保留控件的移植性和维护性。NetworkImageView通过调用setImageUrl来指定具体的url:public void setImageUrl(String url, ImageLoader imageLoader) {mUrl = url;mImageLoader = imageLoader;// The URL has poten...

Android Content Provider的启动过程源代码分析【图】

本文参考Android应用程序组件Content Provider的启动过程源代码分析http://blog.csdn.net/luoshengyang/article/details/6963418和《Android系统源代码情景分析》,作者罗升阳。 0、总图流程图如下: 1、MainActivity进程向ActivityServiceManager主线程发送GET_CONTENT_PORVIDER_TRANSACTION 如下图: 如图:第一步 ~/Android/frameworks/base/core/java/android/app ----ActivityMana...

Cordova Android源码分析系列二(CordovaWebView相关类分析)

本篇文章是Cordova Android源码分析系列文章的第二篇,主要分析CordovaWebView和CordovaWebViewClient类,通过分析代码可以知道Web网页加载的过程,错误出来,多线程处理等。CordovaWebView类分析 CordovaWebView类继承了Android WebView类,这是一个很自然的实现,共1000多行代码。包含了PluginManager pluginManager,BroadcastReceiver receiver,CordovaInterface cordova, CordovaWebViewClient viewClient,CordovaChrome...

Android--手机一键Root原理分析

Root的由来 什么是Root?Root本身是指Linux系统的root帐户,该帐户拥有整个系统至高无上的权利,系统中的所有对象它都可以操作,对于Android手机用户来说的Root是指拥有Root权限,一般情况下,手机厂商出于安全考虑会关闭手机的Root权限,手机系统是运行在普通用户权限下的,用户是无法操作系统中的文件与数据的。 Root与刷机本身是有很多关联的,而且随着刷机工具的便利与刷机原理的变化,两者的关系更加是模糊不清了。...

Android : 跟我学Binder --- (4) 驱动情景分析【代码】【图】

目录:Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制?Android : 跟我学Binder --- (2) AIDL分析及手动实现Android : 跟我学Binder --- (3) C程序示例Android : 跟我学Binder --- (4) 驱动情景分析Android : 跟我学Binder --- (5) server的多线程实现(未写)Android : 跟我学Binder --- (6) c++实现_(未写)Android : 跟我学Binder --- (7) JAVA实现_(未写) 一、数据结构  首先基于之前的c程序代...

Android4.4 应用分析——修改Launcher3应用以适应单屏壁纸【图】

Launcher3壁纸的规格默认是:壁纸高度=屏幕高度,壁纸宽带=屏幕宽度*2倍Android4.4的壁纸信息存放在/data/system/users/0/目录下,WallpaperManagerService启动后,会生成如下两个文件在/data/system/users/0/目录下: static final String WALLPAPER = "wallpaper"; //设置的壁纸图片,一般为jpeg格式static final String WALLPAPER_INFO = "wallpaper_info.xml"; //包含墙纸的规格信息:高、宽Wallpaper_info.xml的解析可...

Android核心分析 ----- Android电话系统之RIL-Java

Android RIL-Java RIL-Java在本质上就是一个RIL代理,起到一个转发的作用,是Android Java概念空间中的电话系统的起点。在RIL-D的分析中,我们知道RILD建立了一个侦听套接口,等待RIL-Java的连接。一旦连接成功,RIL-JAVA就可发起一个请求,并等待应答,并将结构发送到目标处理对象。在RIL-Java中,这个请求称为RILRequest。为了直观起见,我还是不厌其烦的给出RIL-Java的框架图。RIL-Java的大框架包含了四个方面:Receiver,Se...

Android屏幕适配详细分析【图】

android中图片适配是一件很棘手的事情,本篇文章详细的介绍屏幕显示的原理,为什么会资源文件中会存在drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi等文件夹,为什么要使用dp作为单位等等。首先从这两张图片的显示效果开始说起1、这是一张200x200的图片在不同的手机上的显示效果。很明显第二张图片看上去要比第一张占用的空间小很多?这是为什么呢?这里我们引入 ppi (pixel per inch)名词,翻译过来就是每英寸的...