【问题标题】:Process running in background with timer Task killed by android进程在后台运行,计时器任务被android杀死
【发布时间】:2013-05-22 06:43:46
【问题描述】:

我有一个带有计时器任务的应用程序,我的应用程序是在间隔时间将当前单元格参考和相邻单元格保存到 csv 中。我的问题是,当我启动应用程序并在设备上按“HOME”屏幕然后运行其他应用程序时,当我通过通知返回我的应用程序时,我的应用程序从 0 再次重新启动。有人知道我的问题吗?

感谢您的帮助...

【问题讨论】:

  • 操作系统可能已经杀死了应用程序以回收内存。所以当你再次回来时,它会重新启动
  • 你需要在单独的进程中运行你的代码
  • @Raghunandan :我知道正因为如此,我一直在寻找不被杀的答案
  • @dd619:我在单独的进程中运行
  • @Kidzie 我不认为这是可能的,因为你不处理杀戮部分

标签: android android-activity android-notifications timertask


【解决方案1】:

要么将你的基本价值保存在数据库中,然后在 onStart 或 onResume 中检索它 要么 将您的应用程序作为服务运行here

【讨论】:

  • android在不准确的时间被杀死,所以我无法存储到数据库,因为当我回来并且活动再次重新开始时,它停止时条件不准确......跨度>
  • @Kidzie 在 onPause() 中将所有事务提交到您的数据库。
  • @Raghunandan :我仍然丢失了数据,例如:如果我的进程在 1 小时后被杀死,那么用户想在 3 小时后检查,所以用户在 2 小时内丢失了数据。 .
  • @Kidzie 究竟为什么你在 onpause() 中提交数据导致暂停的活动在后台,如果它认为有必要,操作系统可能会杀死相同的活动以回收内存
  • 如果我在 onPause() 中提交,当它被杀死时,没有任何块代码可以执行。因为该应用已关闭
猜你喜欢
  • 1970-01-01
  • 2012-08-26
  • 1970-01-01
  • 2018-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多