
service
charles_lun
这个作者很懒,什么都没留下…
展开
-
AIDL学习(二)---代码分析
AIDL学习(二)之前已经学习过AIDL的用法和一些需要注意的地方,现在来关注一下AIDL的内部实现过程。之前只是定义了一个.aidl文件就能让我们进行跨进程通讯了,这实在是很爽,但是还是要去了解一下,系统帮我们做了什么工作。 先看一下.aidl对应的.java的内部结构 package com.charles_lun.db.aidl;interface IRemoteService{ int原创 2016-12-02 17:47:11 · 338 阅读 · 0 评论 -
AIDL学习(三)---Binder连接池
常规使用AIDL,无非就是一个.aidl对应一个Service,但是当我们的项目很大时,很多模块都需要用到Service,我们总不能为每一个模块都创建一个Service吧,这样一来我们的应用就会显得很笨重。那么有没有一种解决方案叫我们只需要创建一个Service,然后去管理AIDL呢?在任玉刚的《Android开发艺术探索》中给出了一个解决方案,那就是Binder连接池。在这里我们看一下他是怎么实现原创 2016-12-03 16:51:51 · 861 阅读 · 0 评论 -
Service过往总结--后台服务,前台服务,扩展Binder,Messenger
Service过往总结关于Service,相信都是用的熟的不能再熟了,也确实没什么好说的,那就总结一下Service的使用过往吧。去google看了一下,介绍的非常好了,那就直接拿过来。 Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程原创 2016-11-30 16:57:25 · 1126 阅读 · 1 评论 -
AIDL学习(一)---IPC通讯
为毛推AIDL AIDL是用来干啥的?为毛要有AIDL?之前听得最多的就是实现跨进程访问其他应用程序,和其他应用程序通讯。但是有没有想过,很多技术都可以实现访问,BroadcastReceiver,ContentProvider,Messenger都可以,没错吧,是不是有点尴尬啊,那究竟为毛呢?这个问题,那就只能去找google了,看文档原话:Note: Using AIDL is necessar原创 2016-12-02 00:35:19 · 730 阅读 · 0 评论 -
Messenger源码解析
之前根据官方文档和网上一些大神的博客,已经可以正常的使用Messenger进行跨进程通讯了,其实流程很简单,大体如下: 在使用层面已经熟悉了,最好还是看一下源码,系统是怎么封装的,原理是什么,虽然网上已经有很多类似的,但是自己写,自己看,学到就是自己的。我们就根据流程图的单向通讯分析(Client向Service发送一条消息)。 构造Messenger private final IM原创 2016-12-06 15:59:46 · 946 阅读 · 0 评论 -
IntentService源码分析
Service相信都不陌生,一说android四大组件,挂拉呱啦就出来了,IntentService就是Service的一个子类,本质是一个Service,只不过是内部封装了一些好用的功能,方面我们使用。google介绍IntentService可以用来处理异步请求,当工作线程结束之后,会自动停止服务。注意所有的请求都是在一个工作线程处理的,一次只能处理一个请求,所以如果前面的请求比较耗时,后面的请原创 2016-11-30 01:11:27 · 569 阅读 · 0 评论