Service
解决方案 »
- 求F码。。哪位哥哥给我一个F码!!!
- android listview布局
- 新浪微博SDK的一些问题,望懂的人帮下忙解答下。感激不尽!
- 一个当前 activity和 main.xml相连的问题
- 关于Android重写控件?
- 自定义View里面怎样较好地绘制文本
- 手机插入充电器进行充电,黑屏后,充电指示灯一同熄灭。这个灯应该常亮
- android 视频截图没画面 黑色的
- XML文件中文乱码问题
- setOnItemSelectedListener 如何触发?
- 使用eclipse运行android程序,点了其中一个项目的.java文件可是运行的是另一个项目的结果
- 求助!!下载打开PDF的时候怎么屏蔽系统默认调用的QQ
1)startForeground(NOTIFY_ID, notify);设置为前台活跃进程,提高优先级;
2)BroadcastReceiver监听一些频繁的系统广播,比如开机事件、TIME_TICK(这个需要代码中动态注册)等;
3)向系统注册一个系统闹铃,定时捕获闹铃广播,拉起本进程;
4)做两个Service互保(这个有点流氓,不建议使用);
耗电方面呢?
常驻进程的话,随时把最新的信息进行推送,是不是以为着耗电压力会大的很多了就??耗电的话不好说,这得看你的进程业务逻辑优化的如何,避免一些busy loop,精简网络交互步骤,精简报文内容等等;
如果要使用即时消息传送、即时push消息的话,一般有两种方式:
1)客户端主动去query,但是这样客户端要控制频繁、失败成功的业务逻辑等等,会比较耗电;
2)使用长连接,这样比较省电,监听由系统去承担了,不需要你的上层代码中有loop之类的,但是在网络不稳定的手机上,长连接不稳定,要经常检查断开是否重新连接等等,如果策略不是很合理,未必更好用;
你可以两者权衡一下,再去网上搜搜push、长连接等等文章瞧瞧;
祝好运!
1.无网络的时候,后台service要判断 然后主动断开连接
2.当检测到网络广播的时候,再启动推送服务与服务器的连接
3.精简传输指令,比如XML解析比JSON稍微要消耗多点内存和CPU,可考虑用byte array,减少传输带宽
业务优化是关键,比如减少网络通信次数,添加SDCARD缓存等