我在某处看到广播接收器在与应用程序不同的进程中运行,因此它有一个自己的堆。现在,如果在广播接收器中我从我的应用程序开始活动,这将在应用程序的进程中运行还是仍在广播接收器的过程中?
对于本机堆(预蜂窝API),这个问题的答案是否也是正确的?
想知道,因为当我收到推送通知时,我必须启动内存昂贵的活动/屏幕,如果我正处于其他内存昂贵的活动中,在应用程序中,它可能会导致内存不足错误。但是如果它是一个单独的堆(更具体地说是本机堆,因为内存消耗来自位图,我正在为API预蜂窝开发)我不必担心它。
注意“在某处阅读”是指:Why so much memory? Nikolay Chorniy的帖子
“有一个棘手的解决方法,我曾经避免使用OutOfMemoryError。我注册了一个接收器,以便它在不同的进程上运行......”
答案 0 :(得分:2)
我在某处看到广播接收器在与应用程序不同的进程中运行
默认情况下,所有组件都在同一进程中运行。
想知道因为我收到推送通知时必须启动内存昂贵的活动/屏幕
用户可能不一定会欣赏您在不知名的地方显示“内存昂贵的活动/屏幕”。