作者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/m.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