V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nnegier
V2EX  ›  Android

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

  •  
  •   nnegier · 2022-04-13 21:32:40 +08:00 · 8717 次点击
    这是一个创建于 956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在服务里面放了一个侦测传感器,检测到指定手势做一些逻辑,结果熄一会儿,在亮屏,直接给我干没了,感觉这体验也太差了。

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

    我之前因为这个曾经苦恼了很久,系统 Flyme ,涉事 app 是谷歌键盘。所有我输入过的词语,当场倒是能记住,但是过个半天一晚上,全部丢失,还得重新输入。
    一开始我还没在意,因为再往前没这个问题。发现问题后的将近一年多的时间里我查阅、尝试、钻研了很多方法,但都没想到过是杀后台的原因,一次次放弃,一次次重整旗鼓,一次次再放弃。
    直到半年前左右,不知怎么突然想到,会不会是因为用户词频这个功能是在后台进程 /服务里面的,被杀了?
    手机管家→后台进程→添加允许,好了,舒服了。
    zhanlanhuizhang
        5
    zhanlanhuizhang  
       2022-04-15 20:54:40 +08:00
    这应该是权限问题,把 service 写成前台服务的形式,Application 中用前台服务方式启动,xml 申请这个服务硬件请求权限,一般手机是不会关闭的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   881 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:35 · PVG 05:35 · LAX 13:35 · JFK 16:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.