Android 熄屏一小会儿,应用没死,普通服务到死了

2022-04-13 21:32:40 +08:00
 nnegier
我在服务里面放了一个侦测传感器,检测到指定手势做一些逻辑,结果熄一会儿,在亮屏,直接给我干没了,感觉这体验也太差了。

我在 BaseActivity 里手动判断重启了,貌似也没有其它办法。就觉得,这样设计不太好,哪怕不让 CPU 执行我的任务也比直接给我 destroy 好呀。
8787 次点击
所在节点    Android
5 条回复
TArysiyehua
2022-04-13 21:40:30 +08:00
高版本的 Android 的各种冻结+杀死机制,把服务弄的基本上没什么用了。
如果不跟系统打交道,不做跨进程,通信等事情,还不如一个普通的单例。
quxinna
2022-04-14 00:56:55 +08:00
你的这个项目的商业价值在哪里?
gam2046
2022-04-14 08:28:11 +08:00
如果确有需要,把服务绑定成前台服务,可避免被杀掉。后台服务本身系统也不保活。
ungrown
2022-04-14 09:43:11 +08:00
服务是后台,既然是后台了,那么死活可就是系统说了算了 2333
我不是安卓开发者,我只是个用户,我的用户经验告诉我,需要保活的后台(不管是不是服务),老老实实添加白名单 /后台权限。

我之前因为这个曾经苦恼了很久,系统 Flyme ,涉事 app 是谷歌键盘。所有我输入过的词语,当场倒是能记住,但是过个半天一晚上,全部丢失,还得重新输入。
一开始我还没在意,因为再往前没这个问题。发现问题后的将近一年多的时间里我查阅、尝试、钻研了很多方法,但都没想到过是杀后台的原因,一次次放弃,一次次重整旗鼓,一次次再放弃。
直到半年前左右,不知怎么突然想到,会不会是因为用户词频这个功能是在后台进程 /服务里面的,被杀了?
手机管家→后台进程→添加允许,好了,舒服了。
zhanlanhuizhang
2022-04-15 20:54:40 +08:00
这应该是权限问题,把 service 写成前台服务的形式,Application 中用前台服务方式启动,xml 申请这个服务硬件请求权限,一般手机是不会关闭的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX