0

OutOfMemoryError多数のビットマップを処理するために時々ヒットするアプリケーションがあります。私はエラーをキャッチしており、ユーザーにダイアログを表示して、メモリを解放するためにいくつかのバックグラウンド タスクを強制終了する必要があることを知らせたいと考えています。これを行うアプリケーションを開くボタンがあると便利です。

起動するインテントを開始する方法はありますか:

  • Applications Manager > Running Processes (ユーザーが一部のタスクを強制停止できるようにするため)

  • または、ユーザーがインストールした可能性のあるアプリから選択するオプションを使用して、プロセスを実行できるようにすることもできます (例: Advanced Task Manager)

さらに良いオプションは、バックグラウンド アクティビティを自動的にクリアすることですが、これが可能であるとは思えません。

4

2 に答える 2

1

多数のビットマップを処理するために OutOfMemoryError が発生するアプリケーションがあります。

これは、独自のプロセスのヒープがビットマップにブロックを割り当てることができないことを意味します。

ユーザーにダイアログを表示して、メモリを解放するためにいくつかのバックグラウンド タスクを強制終了する必要があることを知らせたい

このようなダイアログを表示することができたとしても、それはあなたの時間とユーザーの時間の完全な無駄です。他のアプリのプロセスが存在してもしなくても、自分のアプリのヒープには何の影響もありません。

起動するインテントを開始する方法はありますか

私はそのようなことを認識していませんIntent

さらに良いオプションは、バックグラウンド アクティビティを自動的にクリアすることですが、これが可能であるとは思えません。

finish()アプリの残りの部分が使用できるように、ヒープ内のメモリを解放するために、不要になった独自のアクティビティを歓迎し、奨励することさえあります。

于 2013-09-10T00:25:18.793 に答える
1

これは問題を解決しないか、探しているものを提案しない場合があります。ただし、大きなビットマップと関連する OOM 例外をロードしているため、このリンクは読む価値があります

設定でアプリ画面をロードするには、これが取得できるクローズです

 startActivity(new Intent(Settings.ACTION_APPLICATION_SETTINGS));

しかし、アプリを機能させるために他のアプリを閉じる必要があるのはなぜですか。ユーザーは、あなたのアプリを台無しにするよりも、あなたのアプリをアンインストールするでしょう!

于 2013-09-10T00:38:38.120 に答える