关于 service 你需要知道的
来源:互联网 发布:mac版办公软件下载 编辑:程序博客网 时间:2024/06/06 20:41
1.service 是和当前应用的进程是一致的,而并不是在后台单独的线程运行,所以也就不能执行耗时操作,那么就必须在service中另起线程去执行耗时操作;
2.由于service和当前应用是同一个线程,那么如何实现跨进程通信呢,这时就需要AIDL;
3.service中onstartcommand()方法触发的条件是 startservice(),且在该方法中不应该有耗时的操作;
4.前台service 的目的是防止后台的service因为内存不足而被系统杀死,前台service会有对应的Notification,因此会在手机的状态栏下可以看见,实际的应用如音乐的播放,墨迹天气;
5.intent service 继承自 service ,intentservice 与 service 最大的区别在于,intentservice 内部会单独起一个worker线程去执行任务,onHandleIntent()方法中执行;
6.intentservice 的内部有 service Handler (继承自handler),Looper,.HanlerThread,具体的执行过程如下:调用startservice()方法会触发 intentservice 的onstartcommand()方法,进而触发onstart()方法,此时会通过serviceHandler发消息,消息的obj就是intent,消息发送给handler进行处理,在handlerMessage()方法中进而调用 onHandleIntent()方法,并且在handleMessage方法中会调用stopself()所以无需再自行调用stopself()。
7.关于service最重要的一项工作是 service的保活工作 ,主要应用场景 例如 推送服务
- 关于 service 你需要知道的
- 关于service需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- 关于Android Service真正的完全详解,你需要知道的一切
- Android Service 完全解析,关于服务你所需要知道的一切(上)
- 关于MongoDB你需要知道的几件事
- 关于MongoDB你需要知道的几件事
- 关于MongoDB你需要知道的几件事
- 关于MongoDB你需要知道的几件事
- 关于MongoDB你需要知道的几件事
- 关于 MongoDB 你需要知道的几件事
- 关于MongoDB你需要知道的几件事
- 你需要知道的关于VPN技术
- HQL查询&连接池&二级缓存
- js中document.getElementById("id").value+1问题
- oracle和mysql驱动连接配置
- JAVA NIO
- 九度OJ 1061 成绩排序
- 关于 service 你需要知道的
- 一次3D打印笔的糟心经历
- VS2013配置opencv出现msvcp110d.dll丢失问题解决办法
- ArcGIS Engine 10.0 for.NET开发学习笔记(一)
- spark学习(1)
- App 即时通讯 SDK
- 24. Swap Nodes in Pairs
- 剑指offer|正则表达式匹配
- A Note on GEM5 - 1 SPEC2006+ARM