我正在编写一个Android应用程序,它使用了几个* NIX二进制文件,这些二进制文件已经交叉编译到ARM,在Android设备上提供基于网络的服务(大约约400,000行C代码,这就是我选择交叉的原因) - 编译而不是在java中重写它)。
二进制文件作为Android / linux守护进程运行(应用程序使用Runtime.getRuntime()。exec())通过SU分叉它们。为了让他们可以在设备进入休眠状态时继续提供服务,我为用户提供了唤醒锁的选项 - 在前台服务中获取WifiManager.WifiLock(前台以减少服务被进程管理杀死的可能性并丢失锁)。
这似乎工作正常,但我想知道是否有比使用前台服务锁定更好/替代方式持有锁或保持wifi?感谢。