2

ブロードキャストレシーバーがアプリとは別のプロセスで実行されることをどこかで読みました。このため、独自のヒープがあります。ブロードキャストレシーバーでアプリからアクティビティを開始した場合、これはアプリのプロセスで実行されますか、それともブロードキャストレシーバーのプロセスで実行されますか?

この質問の答えは、ネイティブ ヒープ (ハニカム API 以前) にも当てはまりますか?

プッシュ通知を受信したときにメモリを消費するアクティビティ/画面を開始する必要があり、アプリで他のメモリを消費するアクティビティの最中にいると、メモリ不足エラーが発生する可能性があるため、疑問に思います。しかし、それが別のヒープである場合 (より具体的には、ネイティブ ヒープ。メモリ消費はビットマップに由来し、私は API プリハニカム用に開発しているため)、心配する必要はありません。

「どこかを読む」とは、次のことを指します。なぜそんなにメモリが多いのですか? Nikolay Chorniy の投稿

「OutOfMemoryError を回避するために使用したトリッキーな回避策があります。別のプロセスで実行されるようにレシーバーを登録しました...」

4

1 に答える 1

2

放送受信機がアプリとは別のプロセスで実行されることをどこかで読みました

デフォルトでは、すべてのコンポーネントが同じプロセスで実行されます。

プッシュ通知を受信したときに、メモリを消費するアクティビティ/画面を開始する必要があるため、疑問に思っています

ユーザーは、「メモリを消費するアクティビティ/画面」を何もない場所に表示することを必ずしも高く評価するとは限りません。

于 2012-07-24T21:57:48.010 に答える