場合によっては、アプリのヒープ メモリ制限をバイパスして、許容量を超えて使用する必要があります。
私は、バイトをネイティブ メモリ (ヒープ メモリではなく、管理されていないメモリ) に格納するキャッシュ メカニズムを含むソリューションを考えました。
もちろん、システムの最大利用可能サイズを考慮に入れます。
したがって、 direct buffersについて少し知っていたので、これを使用してバイト配列をネイティブ メモリに格納しました。
final ByteBuffer nativeBytes=ByteBuffer.allocateDirect(bytes.length);
nativeBytes.put(bytes);
ただし、Android では、これに使用されるメモリはネイティブ メモリではなくヒープで使用されるようです。
何が起こっている?ネイティブメモリからデータを保存およびロードするための簡単な代替手段はありますか?