1

バックグラウンドアプリを強制終了する方法はありますか?

私が取り組んでいるアプリで、サウンドを録音してからスクロール ビューにプロットします。録音が長すぎると、プロットしようとしてメモリが不足するためにクラッシュするという問題がありました。これに対する私の修正は、空きメモリの量を監視し、プロットにかかるメモリ使用量を予測し、十分でなくなる直前に記録を停止することです。それに関する問題は、バックグラウンドで実行しているアプリが多いほど、didRecieveMemoryWarningの前にiosが行う方法でバックグラウンドアプリを強制終了してスペースを作るのではなく、記録を早く停止することです. 質問を言い換えると、これらのバックグラウンド アプリを強制終了するにはどうすればよいですか? Apple はこれに眉をひそめるだろうか?

4

3 に答える 3

5

フォアグラウンド アプリから他のバックグラウンド アプリをプログラムで強制終了したいですか? Apple はそれに眉をひそめるだろうと思う。

理論的には、sysctl からプロセス ID を取得し、それらを終了するために SIGKILL を送信できますが、iOS では、root でない限り他のプロセスに関する情報を取得できません(脱獄を意味します)。

于 2011-08-11T04:22:40.527 に答える
1

iOSは、メモリ警告の送信を開始すると同時に、未使用のバックグラウンドアプリ自体の終了を開始します。ただし、メモリの警告はまったく表示されないはずです。代わりに、メモリ管理を修正してみてください。

于 2011-08-11T04:33:38.440 に答える
1

バックグラウンド アプリを停止しても問題は解決しません。他のすべてのアプリが強制終了されても、しばらくするとアプリがクラッシュします。

小さなバッファを使用してこれらのデータを保存し、定期的にストレージに書き込むことを検討してください。ユーザーがスクロールして古いレコードを読み取る必要がある場合は、ストレージから読み戻します。ウィンドウ サイズを制限することで、アプリは一定量のメモリのみを使用します。

于 2011-08-11T06:52:06.320 に答える