`
老七的米店
  • 浏览: 46494 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android service 相关问题汇总

阅读更多

Activity与Service是否处于同一进程?
  一般来说:同一个包内的activity和service,如果service没有设定属性android:process=":remote"的话,service会和activity跑在同一个进程中,由于一个进程只有一个UI线程,所以,service和acitivity就是在同一个线程里面的。android:process=":remote"值得注意他的用法!!!如果Activity想访问service中的对象或方法,如果service设定属性android:process=":remote",那么就是跨进程访问,跨进程访问容易出现意想不到的问题,还是慎重给service设定属性android:process=":remote"

 

Service 的两大功能是什么?怎样实现?

    android系统中的Service主要有两个作用:后台运行和跨进程通讯。

    情况1:当Acitivity和Service处于同一个Application和进程时,通过继承Binder类来实现。

    步骤如下:
    Service和Activity的连接可以用ServiceConnection来实现,需要实现一个新的ServiceConnection,重写onServiceConnected和onServiceDisconnected方法。执行绑定,调用bindService方法,传入一个选择了要绑定的Service的Intent(显式或隐式)和一个你实现了的ServiceConnection实例。一旦连接建立,你就能通Service的接口onBind()得到serviceBinder实例进而得到Service的实例引用。一旦Service对象找到,就能得到它的公共方法和属性。但这种方式,一定要在同一个进程和同一个Application里。

    情况2:跨进程通讯,使用AIDL;

     步骤如下: 
      1.  在Eclipse工程的package目录中建立一个扩展名为aidl的文件。package目录就是Java类所在的目录。该文件的语法类似于Java代码。aidl文件中定义的是AIDL服务的接口。这个接口需要在调用AIDL服务的程序中访问。
      2.  如果aidl文件的内容是正确的,Eclipse插件会自动生成一个Java接口文件(*.java)。
      3.  建立一个服务类(Service的子类)。
      4.  实现由aidl文件生成的Java接口。
      5.  在AndroidManifest.xml文件中配置AIDL服务,尤其要注意的是,<action>标签的android:name属性值就是客户端要引用该服务的ID,也就是Intent类构造方法的参数值。

分享到:
评论

相关推荐

    android service总结文档

    一篇对于android service的详细总结

    Android Service大总结Demo

    Android Service大总结Demo 包括跨进程之间的通信。详情请参考博客

    Android实现双进程守护,如何保证Service不被Kill

    Android实现双进程守护,如何保证Service不被Kill,onStartCommand方法,返回START_STICKY,手动返回START_STICKY,亲测当service因内存不足被kill,当内存又有的时候,service又被重新创建,比较不错,但是不能保证...

    Android Intent Service BroadCast AndroidStudio

    本项目将Android中的Intent总结了一遍。主要有四个项目,Intent_Intent项目是简单的Intent跳转(setActivityResult);Intent_broadcast主要是静态广播的注册;Intent_broadcastdynamic主要介绍动态广播的注册;...

    Android之Service学习总结收集.pdf

    Android之Service学习总结收集.pdf

    Android Service总结及详细介绍

    本文主要介绍Android Service的知识,这里整理了详细资料及简单实现示例代码,有需要的小伙伴可以参考下

    android_Service通信总结

    这是一个关于Service与Activity通信的部分代码,及如何使用Service和Activity通信。

    Android Service服务详细介绍及使用总结

    主要介绍了Android Service 服务的详细资料,网上关于Android Service 服务的文章比较多,但是不是很全面,不够细致,毕竟是Android 四大组件之一,重要性不用说,这里总结下,需要的朋友可以参考下

    Android开发四大组件之Service应用总结Demo

    service的启动,停止,绑定,取消绑定,以及IntentService的生命周期走向测试和IntentService与访问者信息通信过程,不清楚之处请参阅我的博客《Android开发四大组件之Service总结》

    Android 5.0以上Toast不显示的解决方法

    最近在开发中我们经常会在适配5.0以后的机型遇到各种各样的问题,其中有一个不大不小的问题就是:Toast不显示问题,这篇文章就给大家总结了Android 5.0以上Toast不显示的原因与解决方法,有需要的朋友们可以参考借鉴...

    Android中Service的全面总结

    全面总结Android Service的使用方法,具体内容如下 1、Service的种类 按运行地点分类: 其实remote服务还是很少见的,并且一般都是系统服务。 按运行类型分类: 有同学可能会问,后台服务我们可以自己创建 ...

    Android BLE开发总结

    AndroiBLE开发总结: 在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下: - 设备(Device):指BLE设备,如蓝牙耳机、传感器等。 - 服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多...

    Android代码-安卓开发学习资料和对应Demo

    安卓开发学习的各种资料以及对应的demo 开源客户端学习研究 准备通过这个客户端深入学习。...深入理解Android的startservice和bindservice Android Studio权威教程专栏 各种源码解析分析 值得阅读的android技术文章

    Android开发案例驱动教程 配套代码

    8.4.1 Android线程应用中的问题与分析 164 8.4.2 Message和MessageQueue 169 8.4.3 Handler 169 8.4.4 Looper和HandlerThread 172 本章小结 178 第9章 Activity和Intent 179 9.1 Activity 179 9.1.1 创建...

    android开发资料大全

    【eoeAndroid Android相关的面试题最强汇总】 ZTE—adroid笔试题附答案版 iceskysl: 说说我招聘android技术人员的思路 史上最全面的面试资料(包含所有IT大公司) 快到毕业的季节了,积累了一些andorid面试题,...

    Android中的Service相关全面总结

    1、Service的种类 按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在...

    android ams

    关于android activityManagerService的总结

    Android实训实习报告总结.docx

    一、引言 Android 学习已有一年半有余,先后做过两款游戏、三款应用和搭建一台服务端,也了解过一些Android相关的源码(JDK、SDK和NDK),学习Android不仅是对前沿开发技术的了解,也是对编程知识的一次提升。...

Global site tag (gtag.js) - Google Analytics