Delphi 10.3.x與Android 10兼容性的問題


用10.3.x編譯的android app,在華為android 10上運行,當用返回鍵退出app或返回后台時,再重新啟動(返回)app,卡死,等一會兒,會閃退,然后再重進app才正常。

以前我有遇到類似情況,原因是退出app時還有正在運行的線程,那么就會產生這樣的情況:你再重進app,不能正常進入app,卡死了。解決辦法就是退出app時,等線程都執行完畢。

今天又遇到這樣的情況,但是沒查到是那個線程造成這個問題,頭大的過程中,在QC上查到有人遇到同樣的問題了,原來不是線程的問題,而是與Android 10兼容性的問題,官方正在修正這個問題中,QC地址:https://quality.embarcadero.com/browse/RSP-27806

2020-03-23:

QDAC作者swish大俠給出下面方法:

首先,引用單元:Posix.Signal

然后調用:

kill(getpid,SIGKILL);//沒測試.

或者:

kill(0,SIGKILL)

來替換:

Application.Terminate;

測試方法kill(0,SIGKILL)可以!退出時沒有異常,重進時不會閃退。在官方沒有解決方法前,建議用此方法。

基於ChinaCock組件提供的cc.Comm.App_SendToBack方法,在執行kill前,先執行一下App_SendToBack方法,將應用退回到后台,這樣實現了最完美的效果。

大俠就是大俠,一出手便知有沒有,再一次感謝!終於堵住客戶的嘴了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM