相关疑难解决方法(0)

离开活动时Android如何处理后台线程?

我需要我的Android应用程序将其状态保存到磁盘,当它的活动被放入后台或被杀死时.有人建议我在调用onPause()时启动一个线程,然后在那里执行任何昂贵的I/O程序(请参阅快速,健壮地保存/加载文档状态,以便进行图像编辑).

在什么情况下操作系统会杀死线程以及这些情况发生的频率?

我假设它将像处理操作系统可以任意决定杀死线程的操作一样,但是当资源非常有限时,它们通常只会这样做.尽管如此,找到一些具体的文档会很好.

通过使用一些测试代码,在onPause()中启动的后台线程将在我的设备的后台无限期运行(我尝试加载大量应用程序并且无法将其杀死).

对于我的特定应用程序,我正在编写一个位图编辑器,我正在使用Command模式和Memento模式来允许撤消和重做编辑.我希望用户能够撤消/重做他们的编辑,即使用户接到电话,当活动被放入后台时活动也会被杀死.我能想到的最佳解决方案是使用后台线程在应用程序使用期间不断将我的命令和memento对象保存到磁盘,并在调用onPause时完成保存后台线程中剩余的任何对象.在更糟糕的情况下,如果线程被杀死,我只会丢失一些编辑.

java mobile multithreading android

31
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×1

java ×1

mobile ×1

multithreading ×1