gpt4 book ai didi

android - 如何确保在android杀死进程之前保存数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:30 24 4
gpt4 key购买 nike

在 Android 中,不在 UI-Thread 中执行任何数据库操作(或至少是复杂的操作)通常是一个好习惯。我有一个复杂形式的 Activity ,我想确保在 Activity 进入后台时保存所有数据(例如,用户按下主页按钮或打来电话)。在 Activity 的 onPause() 方法中,我可以启动一个将数据存储在数据库中的 AsyncTask,但我永远无法确定任务是否成功完成,因为 android 可以在任务完成之前终止进程,因为 Activity 和整个应用程序都在后台.

我可以在 onPause 方法中保存数据同步,但可能会遇到 ANR。
我知道 Android 会在 Activity 被终止后恢复 View ,但这仅在 View ID 唯一时才有效。我有很多以编程方式添加的 View ,在这些 View 中我无法确保 Id 的唯一性并且几乎不可能使用 saveInstanceState 功能,因为我必须保存非常复杂的模型。

是否有可能确保在 android 终止进程而不在 UI-Thread 中执行之前保存数据?

最佳答案

我曾经创建过一个应用程序,我也有类似的数据一致性问题。我在那里所做的是将数据对象的存储委托(delegate)给我为此目的创建的服务。尽管这会使您的 Activity 的启动/停止/初始化变得更加困难(一旦 Activity 再次启动,您将不得不等待服务完成其先前启动的保存操作),这是我唯一可以使用的“Android”方式想到要解决这个问题。

关于android - 如何确保在android杀死进程之前保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16438391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com