私たちは、携帯電話のギャラリーから大きな画像 (5MP+) を処理し、最終的に base 64 でエンコードし、JSON 化してアップストリーム サーバーに送信するネイティブ Android アプリに取り組んでいます。他の StackOverflow の質問で提供されているガイダンスの一部を使用しました。logcat を綿密に追跡し、デバッグなどを行い、メモリ使用量を最小限に抑えるために懸命に努力してきました。また、「80% のユース ケース」を制御できるようになりましたが、特定のケース (ユーザーが写真をキャンセルし、別の写真を選択するなど)。
5MP のビットマップをインポートすると、ヒープのサイズが 4 倍になることがわかりました (つまり、7Mb の jpeg はメモリ内で 28Mb になります)。可能な限り効率的に Base64 に変換するためのトリックを使用しました。JSON パーサーがリークしていないことなどを確認しました。
元の質問に戻ると、Android のビットマップ処理を回避する方法はありますか?