如何保证app后台运行不休眠,随时推送信息 Service 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Service常驻进程的办法有一些,提供一些思路:1)startForeground(NOTIFY_ID, notify);设置为前台活跃进程,提高优先级;2)BroadcastReceiver监听一些频繁的系统广播,比如开机事件、TIME_TICK(这个需要代码中动态注册)等;3)向系统注册一个系统闹铃,定时捕获闹铃广播,拉起本进程;4)做两个Service互保(这个有点流氓,不建议使用); 如果要自己写推送的话,你可以取看看MQTT,据说很省电 耗电方面呢?常驻进程的话,随时把最新的信息进行推送,是不是以为着耗电压力会大的很多了就??耗电的话不好说,这得看你的进程业务逻辑优化的如何,避免一些busy loop,精简网络交互步骤,精简报文内容等等;如果要使用即时消息传送、即时push消息的话,一般有两种方式:1)客户端主动去query,但是这样客户端要控制频繁、失败成功的业务逻辑等等,会比较耗电;2)使用长连接,这样比较省电,监听由系统去承担了,不需要你的上层代码中有loop之类的,但是在网络不稳定的手机上,长连接不稳定,要经常检查断开是否重新连接等等,如果策略不是很合理,未必更好用;你可以两者权衡一下,再去网上搜搜push、长连接等等文章瞧瞧;祝好运! 减少耗电1.无网络的时候,后台service要判断 然后主动断开连接2.当检测到网络广播的时候,再启动推送服务与服务器的连接3.精简传输指令,比如XML解析比JSON稍微要消耗多点内存和CPU,可考虑用byte array,减少传输带宽业务优化是关键,比如减少网络通信次数,添加SDCARD缓存等 android 手机真机上vmheap 一般是多大? Fedora 16 编译 android (2.3),求详细资料,谢谢! Android 通知(Notification) android2.3打开字符设备节点失败!!! android 3D Max问题 实现手机转图不转的效果 关于线性布局里面如何弄一个点击 ListView 怎样开发跨安卓和IOS两个平台的项目? android wifi开发无法删除某个ssid的问题 使用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缓存等