複数の短いサウンド クリップを含む Android アプリを作成しています。現時点ではSoundPool
、メニュー アクティビティによって 2 番目のアクティビティが開始されると、サウンド クリップをロードするために使用しています。私が抱えていると思われる問題は、このセカンダリ アクティビティが開始されると、サウンド クリップの読み込みによって複数のヒープ サイズのオーバーフローが発生し、しばらくするとアクティビティが実際に読み込まれることです (エミュレーターがエラーや強制終了を返すことはありません)。ここでヘルプを使用して、MediaPlayer
これらのヒープ サイズのオーバーフローが発生しないようにしますか?
また、現時点では、メニュー アクティビティは、(startActivityForResult()
関数を使用して) 結果を待っている 2 番目のアクティビティを開始します。これは、メニュー アクティビティがメモリに保持されているだけでなく、2 番目のアクティビティがメモリにロードされていることを意味しますか? もしそうならfinish()
、2番目のアクティビティが開始されたらメニューアクティビティを呼び出すことでメモリの問題を解決できますか(その後、ユーザーがメニューに戻りたいときにメニューアクティビティを再開しますか、それともまったく新しい一連の問題が発生しますか?) ?