作者tga123 (叛帝)
看板AndroidDev
标题[问题] 中国品牌手机的Service问题?
时间Tue Oct 22 15:45:39 2019
各位好
最近碰到一个困难
就是中国厂牌的手机 小米 oppo 华为等手机..
很容易把我的Service关闭,或是不按照生命周期去走
想问问各位是不是也有碰到相同的问题
上网查了蛮多资料虽然改了省电或是一些清记忆体的设定
还是会有一些零星的问题存在
所以想问问看各位有没有碰到相同的状况呢?
生命周期举例来说就是
我写在onstop或是ondestory的程式码
在app被关闭时完全不会执行...
--
□卑怯戦队□ __ _ ▍▍▎▎▏▏ψquetzal ◤ ◥ ◢ ◥
▇▇▇ ▇▇▇ ▇▇▇▇ █ ▇▇▇│▏ ◤ ◢◢▼ ◢ ◤◥ █ █
▇▇▇ ◤ ◤ ▉▇▇ ▁ ◣ ▉▇▇ __◤★ ★ ____◤◥◥ ﹣ —▼ █ █
█ ▁▁█ ▉ ◤ █ ▉ ◤ ↖◣ ■ ◢ 《ξ● ● ◣▼'"◢◤██
█ █ ▉ ◢ █ ▉ ◢ ▃▃◥██◣ ﹨◣︶;"◢◤◢ ▊▎██
▇▇ ◤ █▇ ◤▼▼ ▇ ▲▲▼▼ ▇◣◢◤★ ★ ◥ ﹨◤▆ ◥◆︶▲■▅ ▅
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.130.6.51 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1571730342.A.CA9.html
1F:→ kobe8112: Service有onstop? 10/22 18:00
2F:→ kobe8112: 你Service的onStartCommand方法回传什麽值? 10/22 18:01
3F:→ kobe8112: 8.0以上的话,是写成foregrohnd service吗? 10/22 18:19
喔抱歉我没有描述清楚
我指的是两件事情
一件事在APP结束时Activity不会执行ondestory,暂停时也不会执行onstop
另外一件事是指service会无预警的自动被移出背景
※ 编辑: tga123 (220.130.6.51 台湾), 10/23/2019 09:28:39
4F:推 vegafish: 没办法,只能根据使用者的回报,把那个型号移出支援名单 10/27 13:42
5F:→ vegafish: ,这样那个手机就不会下载到你的 app 10/27 13:42
这样啊..我还在想会不会有人针对这个问题有什麽办法呢
感谢乡民
※ 编辑: tga123 (220.130.6.51 台湾), 10/29/2019 11:32:13
6F:→ kobe8112: 呃所以你还是没回答啊,你的Service是写成最难以被关闭 10/29 16:44
7F:→ kobe8112: 的执行方式+系统有余裕时自动重启吗? 10/29 16:44
8F:→ kobe8112: Activity我记得好像不是所有情况必执行OnStop, 10/29 16:45
9F:→ kobe8112: 至於OnDestory...,会不会是因为没有被终止所以没执行? 10/29 16:46
10F:→ kobe8112: 此时adb shell进去检查Process列表,都没有你的程式吗? 10/29 16:48
11F:推 vegafish: 回楼上 kobe,有些手机是很暴力地 kill app 下的所有 pr 10/30 03:45
12F:→ vegafish: ocess,WorkManager 和 AlarmManager 根本不起作用。更 10/30 03:45
13F:→ vegafish: 不用想要触发 onDestroy,因为这些 OEM 厂商根本不照标 10/30 03:45
14F:→ vegafish: 准来实作。 10/30 03:46
15F:推 vegafish: service 被停掉,可以用周期 alarmmanager + broadcastr 10/30 03:55
16F:→ vegafish: eceiver 去检查并重启 10/30 03:55
17F:→ kobe8112: 感谢楼上分享资讯,想请问一下,例如像拨放歌曲这类前景 10/30 09:18
18F:→ kobe8112: 的Service,也会播到一半直接被这类手机系统直接干掉吗? 10/30 09:18
19F:推 vegafish: 先谢谢 kobe 愿意花时间一起讨论,ForegroundService 还 10/30 13:29
20F:→ vegafish: 是有机会被系统砍掉,可以 Google 搜寻 foregroundservi 10/30 13:29
21F:→ vegafish: ce + killed + oppo,找结果是 stackoverflow 网站,里 10/30 13:29
22F:→ vegafish: 面诸多抱怨...我自己也是被这类手机弄得很烦 10/30 13:29
23F:→ kobe8112: 我知道有机会,我是想知道这类手机是不是连像音乐类型的 10/30 15:11
24F:→ kobe8112: ForegroundService都会直接干掉,因为这样使用者体验肯 10/30 15:12
25F:→ kobe8112: 定会超差,考量到以後的APP可能得上架,要先做好准备XD 10/30 15:13
26F:推 vegafish: 可能要特别借一只这类的手机来测...才知道被砍的机会到 10/31 02:36
27F:→ vegafish: 底有多频繁 10/31 02:36
28F:→ vegafish: 我自己的 App 一开始没特别处理这类手机,现在大部分客 10/31 02:38
29F:→ vegafish: 诉都来自他们 10/31 02:38
Service的管理能做的也都做了..还是被砍掉..
感谢乡民 oppo 那篇我也有看到..
我手上的红米 小米 oppo全部都有这个问题..
不过很难做进一步测试就是了...公司出不起买新手机的钱
只能跟业务借来做简单的测试而已,没多久就要还回去了
可以确定的是一样的程序 我自己的Nexus 5 Nexus9 piexl piexl2 piexl4 都没有问题
※ 编辑: tga123 (220.130.6.51 台湾), 11/05/2019 14:26:02