2

我在某处读到广播接收器在与应用程序不同的进程中运行,因此它有一个自己的堆。现在,如果在广播接收器中我从我的应用程序启动一个活动,它会在应用程序的进程中运行还是仍在广播接收器的进程中?

这个问题的答案是否也适用于本机堆(pre-honeycomb API)?

想知道,因为当我收到推送通知时,我必须启动一个内存昂贵的活动/屏幕,如果我处于其他一些内存昂贵的活动的中间,在应用程序中,它可能会导致内存不足错误。但是如果它是一个单独的堆(更具体地说 - 本机堆,因为内存消耗来自位图并且我正在为 API pre-honeycomb 开发)我不必担心它。

注意“读某处”是指:为什么这么多内存? 尼古拉·乔尼 (Nikolay Chorniy) 的帖子

“我曾经有一个棘手的解决方法来避免 OutOfMemoryError。我注册了一个接收器,以便它在不同的进程上运行......”

4

1 回答 1

2

我在某处读到广播接收器在与应用程序不同的进程中运行

默认情况下,所有组件都在同一进程中运行。

想知道,因为当我收到推送通知时,我必须启动一个内存昂贵的活动/屏幕

用户可能不一定喜欢您在不知名的地方显示“内存昂贵的活动/屏幕”。

于 2012-07-24T21:57:48.010 回答