まずは、Androidがビットマップを読み込む際に厳しい制約を課していることを知っています。私は必要なビットマップをロードして使用する簡単な方法があるかどうかを理解しようとしています。BitmapFactory.decodeResource(メモリ不足)
私は2800×2800のARGB画像を持っています。私は、ズームインしてパンすることができる必要があります。 2800 x 2880のARGBイメージは約31 MBのメモリが必要です。私はそれが大きいことを認識します。私はそれをロードしようとすると、しかし、私は
はそれが約4倍のサイズが必要なメモリのチャックを割り当てている理由私は好奇心が強い... 125440012バイトの割り当てを割り当てること
を失敗したというエラーを取得します画像を保持する。それは期待されているのか、何か問題が起こっているのでしょう
BitmapFactory.decodeResource(getResources(), resID, options);
ロードこの画像は私がそれを試してみた、すべてのiOSデバイス上で正常に動作し、それはネクサス2013タブレット上で正常に動作します:私は使用してイメージをロードしています。しかし、それは私がテストするために持っているAndroidの携帯電話で失敗している。
私は間違いなく、イメージの部分領域を読み込んでそれらを管理することを避けたいと思います(BitmapRegionDecoderのようなものを使用します)。シンプルな何かの考えは何ですか?
あなたの画像はどのリソースディレクトリにありますか?あなたは[デフォルトでスケーリングされた画像]を取得している可能性があります(http://stackoverflow.com/a/23047893/1676363) – ianhanniballake