2011-11-14 17 views
0

私は、放送受信機の使用後にその受信機をクリアする方法を工夫してきました。私のアプリは現在、Android Manifest内に登録されている放送受信機を持っていて、PendingIntentにインテントを使って呼び出すと、そこからAlarmManagerを使用して、指定した時刻にブロードキャスト受信機をトリガーします。ブロードキャストレシーバーのリソースを使用した後にリソースを解放するにはどうすればいいですか?

私は、時間が発生し、放送受信機が処理されると、未使用のメモリに残されていると感じています。

私は、放送受信機の登録を取り消したことについての他の投稿と記事を読んだことがありますが、開始するアクティビティは放送受信機に影響を与えずに終了する必要があるため、アクティビティのonPause()部分は、開始する前に放送受信機を終了しますか?

ご協力いただければ幸いです。

+0

ブロードキャスト受信者に「ハングアラウンド」をさせることによってリソースを浪費することに懸念はありますか? – Kerry

答えて

1

システムで処理させます。それは必要に応じてガベージコレクションされ、頻繁に迅速です。さらに、BroadcastReceiver javadocは積極的に殺されると述べています。

+0

私はこの現行の方法を使ってかなり基本的なアプリを実行していましたが、私はタスクマネージャーを通してメモリをクリアするまで電話が遅くなると感じています。このアプリはそれを引き起こしますか? – TimCS

+0

可能性はありますが、遅さの原因が増えています。使用可能なメモリとCPU使用率もチェックしていますか? –

+0

まだ、私は、このアプリを一般的なリリースで利用できるようにすると、ユーザーの携帯電話に問題が発生する可能性があることを懸念しています。この時点で私には電話が遅くなっていたようだが、サムスンのアカウントにサインアップして、おそらくアップデートをチェックするのは偶然だろうか? 。それはかなりの量のメモリとデュアルCPUを持っているので、携帯電話はサムスンギャラクシーS2です。 – TimCS

関連する問題