服务 AIDL 进程优先级
来源:互联网 发布:spss22 mac版教程 编辑:程序博客网 时间:2024/06/06 09:29
服务
进程优先级:
- Empty process
- Background process
- Service process
- Visable process
- Foreground process
开启服务
启动方式:
显式启动与关闭
startService(new Intent(this,Myservice.class))
stopService(intent)
隐式启动
Intent intent =new Intent();
intent.setAction("wo jiu shi zheyang qidongde");
startService(intent)
生命周期方法
- onCreate
- onStartCommand(onStart过时)
- onDestroy
电话录音机
电话状态分类
- 空闲状态
- 响铃状态
- 摘机状态
开启方式
- startService
- 开启的是服务进程,可以常驻内存,Activity生命周期与其没有关系。
- bindService
- 开启的服务不属于服务进程,Activity死亡,其相应的会调用unbind()与ondestroy()方法。
- 作用:通过绑定服务启动可以在Activity中调用service里面的方法。
- 服务的混合调用
- 必须先startService(intent);再bindService(intent);
- 如果反之,则ondestroy()方法必须再onbind()方法之后调用,这个在实际运行时,是可能引发错乱的。
使用代码配置广播接收者
- 可以使用清单文件注册
- 广播一旦发出,系统会去所有的清单文件中寻找那个广播接收者的action与广播的action是匹配的,如果找到了,就会将该广播接收者的进程启动起来。
- 可以使用代码注册
- 需要使用广播接收者时,执行注册的代码,不需要时,执行解除注册的代码。
特殊的广播接收者
- 安卓中有一些广播接收者,必须使用代码注册,清单文件注册是无效的
- 屏幕锁屏和解锁
- 电量改变
服务的分类
- 本地服务:指服务与启动服务的Activity所在进程是同一个。
- 远程服务:指服务与启动服务的Activity所在进程不是同一个。
AIDL
- Android Interface Definition Language
- 进程间通信
- 把远程服务的方法抽取成一个单独的接口java文件
- 把接口java文件的后缀名改成aidl
- 在自动生成的PublicBusiness.java文件中,有一个静态抽象类Stub,它已经继承了binder类,实现了publicBusiness接口,这个类就是新的中间人。
- 把aidl文件复制到新的项目中,注意包名必须和原来服务中的包名一致。
- 在新的项目中,若要调用服务中的方法,对象需要强转,使用Stub.asInterface();
进程优先级
- 前台进程
- 拥有一个与用户交互的Activity的进程
- 拥有一个与用户交互的Activity绑定的service的进程
- 拥有一个正在“运行于前台”的服务–服务的startForeground()方法调用
- 拥有一个正在执行以下三个生命周期方法中任意一个的服务(onCreate,onStart,onDestory)
- 拥有一个正在执行onReceive方法的广播接收者的进程
- 可见进程
- 拥有一个不在前台,但是用户依然可见的Activity(onPause方法调用)的进程
- 拥有一个与可见的Activity绑定的服务进程
- 服务进程
- 后台进程
- 空进程
0 0
- 服务 AIDL 进程优先级
- Service服务AIDL进程通信详细总结
- 为什么使用服务&进程的优先级
- 进程的优先级&为什么使用服务
- Android提高后台服务进程优先级
- AIDL服务
- AIDL服务
- 使用AIDL和远程服务实现进程通信
- Android使用AIDL和远程服务实现进程通信
- android aidl调用进程间服务的方法
- Android服务之Service(其二)关于AIDL进程间通信
- 使用AIDL和远程服务实现进程通信
- Android服务之Service(其二)关于AIDL进程间通信
- 使用AIDL和远程服务实现进程通信
- Android使用AIDL和远程服务实现进程通信
- Android服务之Service(其)关于AIDL进程间通信
- Android服务之Service(其二)关于AIDL进程间通信
- Android服务之Service(二):关于AIDL进程间通信
- iOS 分享功能开发
- c++实现的快速排序算法
- 纯文本转超文本
- mac 安装python软件包的工具--easy_install
- TCP/IP详解卷1 读书笔记:第二十一章 TCP超时与重传
- 服务 AIDL 进程优先级
- JavaScript:student-information-system-node-express-mongoose 学生信息管理系统
- UART0串口编程系列 串口编程(UART0)之中断方式(二)
- js 只能输入数字和小数点
- C++primer学习:标准库特殊设施:bitset
- 迭代器 table
- Hadoop2.2内存调优
- 【剑指offer】之第一个只出现一次的字符
- javascript DOM