Android:后台活动可以执行代码吗?

zer*_*lus 3 android

后台的活动是"运行"(并且可以执行代码)还是处于暂停状态?

Cri*_*ian 5

它们被暂停:活动生命周期,因此您无法从那里执行代码.

替代文字

  • 更准确地说,暂停时不会在主应用程序线程上调用它们,直到恢复为止.但是,活动分叉的其他线程仍然可以运行.从长远来看这不是一个好主意,因为您不知道活动将暂停多长时间(秒?天?)并且保持线程运行会占用RAM和CPU时间.但是,如果您启动了一个`AsyncTask`,如果活动暂停,您不必担心它 - 它将继续运行完成. (3认同)
  • 有一个线程坐在那里什么都不做(只是等待做某事)是好的.毕竟,主线程在做什么.请注意,您还可以继续使用Handler在主线程上完成工作,它仍将获得registerReceiver()等内容的回调. (2认同)