android - 如果 BroadcastReceiver 在 AppWidgetProvider 中注册,它会保持活动多长时间?
问题描述
我注册了一个我BroadcastReceiver
的ACTION_TIME_TICK
内部AppWidgetProvider
,每分钟更新一个时钟。就像在这个例子中:
AFAIK 在运行时注册的 BroadcastReceiver 仅在应用程序运行时才处于活动状态。但据我了解,AppWidgetProvider 可以随时收集垃圾,而且它没有真正的生命周期。
在过去的 30 分钟里,这一直很好,但这真的(仍然?)是一种可行的方法吗?
BroadcastReceiver 理论上会注册多久?
更新:我使用内存填充应用程序模拟了 ram 短缺,并使用adb shell ps -A
. 一旦进程终止,时钟的更新实际上就停止了。
解决方案
BroadcastReceiver 理论上会注册多久?
只要您的进程正在运行。您的进程将保持运行多长时间因环境而异(系统 RAM 的数量、通过一种或另一种方式执行后台工作的已安装应用程序的数量、用户是否正在积极使用设备以及在其他应用程序之间切换等)。
推荐阅读
- c# - 如何将字节 [] 存储在 c# 中的文本文件中?
- python - 使用带有错误处理的`with Pool() as p`
- javascript - 有人可以帮我解决这个问题吗?
- javascript - 如何让网站(EarthTV)直播进入 Discord js 机器人?
- python-3.x - 表情符号模块名称在 python3 中不起作用
- python - 模型如何知道我的数据被标记为什么?
- python - 如何在屏幕上添加电子邮件?
- java - DiskCacheStrategy 无法解析为变量
- c++ - 对临界区使用智能指针
- java - Android Studio:我的短信应用不是默认短信应用的选项之一