Qt on Android如何让程序后台老后运行 5C

现在在做一个android系统的播放中央控制系统,系统分为三层:上层中控客户端(PC或移动设备上)、中层中控服务器端(Android头盔上)、低层是播放器(Android头盔上)。客户端负责接收用户的输入信息并通过网络通信发送给中控服务器端;中控服务器端负责处理客户端与播放器的通信。
客户端和服务器(无界面)都是用Qt做的,播放器是用Unity做的。现在所有的功能都已经完成了,但服务器端放在Android系统上的后台运行功能,由于我没有Android系统的开发经验不知道如何实现。也在网上找了很久,还是一头雾水,有人可能提供一下具体点的实现方法吗?

4个回答

对了,给你一个关键词:android 保活,

你去搜,会发现一个新世界

这个就是那个饱受争议的进程保活问题。//论流氓app的养成233
给你介绍一个我用过的保活手段:

1.提高服务优先级:

通常保活都离不开Server,一般情况下,播放**媒体播放**等服务会被系统授予较高的优先级,
但是,如果该服务占用资源过高,还是容易被gc掉,所以这里我后台循环播放一段只有几十Kb的音量为0的音频。

2.创建守护进程

简单的说,就是创建2个以上的服务,服务之间相互唤醒
具体做法就是在一个服务的**onDestory()**销毁时,发送一个广播给其他还活着的服务,
活着的服务收到广播立即唤醒被回收的服务。
这里注意,守护进程里面尽量少做事,少占内存。

3.定时唤醒+持续占有(这个事情qq干过)

  • 监听一些系统广播,比如锁屏广播(因为现在很多高版本的Android系统会在系统锁屏时进入打盹模式,后台的很多东西容易被清理)
  • 收到锁屏广播后,创建一个只有1像素的页面。(页面其实是看不见的),提高进程优先级
  • 系统解锁后,移除这个1像素页面。

我去,这个回复用的markdown好坑啊,预览的和最终展示的落差好大= =

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!