在以下假设下:
- 每个阻塞操作(包括 I/O,包括数据库访问)都必须发生在 UI 线程之外。
- 当没有活动或服务处于活动状态时,关联的进程有资格优先被杀死(空进程)。
离开活动时如何在数据库(sqlite)中保存一些东西?
实际上,在onPause()
或onStop()
中onBackPressed()
,您不得写入数据库(UI 线程中的 I/O)。因此,您可以创建 aThread
或 an AsyncTask
,但在这种情况下,可能在AsyncTask
执行期间没有活动或服务处于活动状态,因此该进程将被视为“非活动”,并将被优先终止。
对于一个很长的操作,您可以创建一个服务,但您不会仅仅为了将状态保存到数据库中而这样做。
你怎么看?