jna*_*man 5 android broadcastreceiver android-asynctask
我正在尝试在收到推送通知时更新UI的状态.为了做到这一点,我需要启动一个AsyncTask执行一些网络操作,然后根据结果更新UI.
根据文档BroadcastReceiver,在接收器中执行异步操作是不安全的,因为执行它的进程可能会在onReceive()返回时立即终止,假设该进程中没有其他"应用程序组件".
是BroadcastReceiver在自己的进程中运行,还是在与包含Activity的进程相同的进程中运行?因为我只关心任务的完成,只要有更新的UI,我不担心AsyncTask如果活动关闭就会死亡.假设BroadcastReceiver与活动处于同一个进程中,这是否可以安全地启动我在接收器中描述的任务?
编辑:
为了澄清,我在活动中注册接收者onResume()并取消注册onPause(),因此它应该只在活动已经激活时接收意图.
小智 6
广播接收器没有在它自己的进程上运行,它在UI线程上运行.
只有在您的应用程序中没有其他活动或服务正在运行时,才会在onReceive方法返回后终止您的进程.
如果您的广播接收器是内部类的实例,并且仅在您的活动处于活动状态时接收,那么在onReceive方法返回后您的进程将不会被终止.
| 归档时间: |
|
| 查看次数: |
4897 次 |
| 最近记录: |