動画を扱うアプリを作成しました。ご存知のように、ビデオ処理はHD解像度を処理する際に大量のメモリを消費します。私のアプリはいつもクラッシュしているようでした。しかし実際には、コードにメモリリークがないことを100%確信しています。機器は漏れを示していません。
最初は、1つのOpenGLESビューとビデオエンジンを起動しています。非常に短い間、メモリ消費量は多くなりますが、初期化が完了すると通常のレベルに低下します。この期間中、私は常にメモリ警告を受け取ります。通常、これは問題ありません。しかし、一時停止モードで実行しているアプリがたくさんある場合、アプリがクラッシュしているようです。クラッシュログを監視し、デバッガーを使用すると、メモリが不足しているだけであることがわかります。
私の顧客は私のサポートメールを「アプリがクラッシュしています」というメールで溢れさせています。しかし、バックグラウンドで実行されているアプリが多すぎるため、メモリが残っていないことは知っています。アプリを実行する前にバックグラウンドタスクを閉じる必要があると顧客に言うのは悪いスタイルのプログラミングだと思います。
この投稿によると、これは一般的な問題です。
私の質問は次のとおりです。OSに大量のメモリが必要であるため、OSが一時停止中のアプリを終了する必要があることをOSに伝えることはできますか?それは私が修正できるバグではないので、このメモリのものは私を夢中にさせます。