私は現在、さまざまな画面サイズのビットマップを再取り付けで働くこのようなコードを使用します。Bitmap ResizingでPersistentBitmapを使用するには?
A.back = GPATools.ResizeTransparentBitmap(A.back, 150, 37,
Bitmap.FILTER_LANCZOS, Bitmap.SCALE_TO_FIT);
はしかし、私はアプリをロードするたびに、それは再びそれをリサイズするのに時間がかかるので、私は言われてきましたこのコードを使用してください:
class PersistableBitmap implements Persistable {
int width;
int height;
int[] argbData;
public PersistableBitmap(Bitmap image){
width = image.getWidth();
height = image.getHeight();
argbData =new int[width * height];
image.getARGB(argbData,0, width,0,0, width, height);
}
public Bitmap getBitmapImage(){
Bitmap image =new Bitmap(width, height);
image.setARGB(argbData,0, width,0,0, width, height);
return image;
}
私の問題は、私は2つを一緒に実装する方法はありません!みんな/ガール助けてください、ありがとう!
は、少なくともスニペットにいくつかの空白を追加します! –
あなたのビットマップが本当に大きいと仮定して、リサイズが永続性からロードするよりも時間がかかることを証明するための適切なテストを行ったとします。そうでない場合は、事前にスケーリングされたイメージをプロジェクトリソースに含めるか、ランタイムストアにビットマップをキャッシュすることをお勧めします。 –
空白?とにかく、私はたくさんのイメージを持っています、彼らは大きくはありませんが、ちょうど大量です。誰かが、それがメインUIをブロックして別のスレッドに入れるかもしれないと示唆しましたが、私はそのことをどうやって行うのか正確には分かりません。 –