Androidロードマップの問題

865 ワード

大画像のロード方法とその原理については、Androidハイビジョンロード巨図案圧縮画像やオープンソースプロジェクトLargeImageを拒否し、初めて使用したときに正常に表示できるようになったが、その後は表示できず(画像が置き換えられた)、エラーも表示されずバグを表示し、IllegalArgumentException:rectangle is not inside the imageという情報がある.デバッグを行うと、実際には範囲を超えていないことに気づきますが、このような結果を出力します.画面はスライド可能(画像は表示できませんが、画像の高さはインタフェースのscrollviewに埋め込まれています)でしたが、logは常に警告されています.
 Bitmap too large to be uploaded into a texture (440x6405, max=4096x4096)

これにより、GPUはハードウェアの加速を開始するとopenglRenderに制限があり、この異なる携帯電話には異なる制限があるからです.
この制限値はcanvas.getMaximumBitmapHeight()とcanvas.getMaximumBitmapWidth()を取得します.
ソリューションは2つあります.http://blog.csdn.net/ta893115871/article/details/9043559
1、一つの解決方法はハードウェアの加速を禁止し、簡単で乱暴である:<アプリケーションandroid:hardwareAccelerated=“false”...>
2、画像を異なるブロックに分け、必要なブロックをロードするたびに.Androidは1つの方法を提供しています(実は大きな画像をロードするのはこのような案を採用していますが、上記の問題が発生して、この問題は理解したくありません)