簡體   English   中英

當應用程序從Android上的任務管理器中被殺死時代碼將停止運行

[英]Where will code stop running when app is killed from task manager on Android

如果用戶正在運行我的應用程序並決定通過任務管理器將其終止,那么在進程終止之前是否有任何代碼可以保證執行多少代碼?

我覺得它可以停止在任意線上運行,但我想我真的不知道答案。

示例用例是用於停止和重新啟動后台警報。 如果我想取消鬧鍾,做一些工作,然后重置鬧鍾,我覺得應用程序有可能在“取消鬧鍾”步驟之后但在“重置鬧鍾”步驟之前停止運行。 這會讓我處於一種我不想進入的狀態,因為我總是希望將來我的鬧鍾能夠啟動。 (請記住,這只是一個例子,我不是在尋找這種特定情況的解決方法)。

我能做些什么來確保代碼我的java代碼作為類似於db事務的“事務”運行,以便它可以全部運行還是不運行?

如果用戶正在運行我的應用程序並決定通過任務管理器將其終止,那么在進程終止之前是否有任何代碼可以保證執行多少代碼?

並不是的。 如果用戶選擇在“設置”中使用“強制停止”,則會在極端偏見的情況下立即終止您的過程。 在您的流程終止的其他情況下,Android 通常會破壞未完成的活動和服務,但這也不能保證,特別是如果Android急於釋放系統RAM(例如,處理來電)。 從概覽屏幕中刪除任務在這里並不是很有特色。

我能做些什么來確保代碼我的java代碼作為類似於db事務的“事務”運行,以便它可以全部運行還是不運行?

沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM