默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
关于类似android版微信的后台Service常驻或保活的疑问?
阅读(62942) | 评论(5 收藏 淘帖
1金币
我正在尝试做一个悬浮窗显示手机的流量的功能。但遇到了一个问题:这个悬浮窗总是会隔一段时间(一天或者几天)就消失,使用类似百度手机助手等第三方软件进行清理内存的时候悬浮窗也会消失。

尝试过提高service优先级,将service的优先级设为foreground也没有用,应该说不管怎么提升优先级,还是会有被android回收内存资源的。

也试过在onDestory方法中发广播重启,service同样不会重启。在onStartCommand方法中将flags = START_STICKY,结果也没效果。

网上提到的大多方法都试过了,唯一没试的是静态注册一些广播,收到广播之后重启service,估计这个可行,但是并不想这么做,感觉这种行为会消耗更多内存,让手机更费电。

我观察过其他的一些悬浮窗,在清理内存的时候也会被kill,但是过几秒钟能够重启,微信也是这样,看后台确实是有两个微信在运行,是不是有两个service在互相监督?如果是这样,希望大神能给一点思路,这种方式应该如何实现。还有我想用NDK弄一个可执行的C程序,用它来检查service是否正常运行,但是似乎NDK只能在编译成.so静态库的时候才有跟java交互的能力,不知道是不是这样,希望大神能够指点一下^_^

最佳答案

查看完整内容

看这个,里面介绍了一种用NDK编程来防止被进程管理器杀掉:http://dearseven.blog.163.com/blog/static/100537922201523143957103/
上一篇:socket.io和websocket 之间是什么关系?有什么区别?下一篇:为什么QQ用的是UDP协议而不是TCP协议?
推荐方案
评论 5
引用:盛宾鑫 发表于 2016-04-08 11:00
谢谢!如果是其他软件的一键清理功能,它会在很短的时间就关闭这两个service,而且它是强制关闭,被关闭的s ...

看这个,里面介绍了一种用NDK编程来防止被进程管理器杀掉:http://dearseven.blog.163.com/bl ... 922201523143957103/
签名: 好想把妹!
类似守护进程,两个服务就是第一个服务关闭的时候通过startservice启动第二个,第二个被关就启动第一个。
签名: 好想把妹!
谢谢!如果是其他软件的一键清理功能,它会在很短的时间就关闭这两个service,而且它是强制关闭,被关闭的service不知道自己被关闭了,也就是onDestroy方法没有被调用。这样就导致了这两个服务都被关闭了
万分感谢!之前不知道有am指令
论坛里有这个帖子啊,微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)http://www.52im.net/thread-210-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部