2017-04-07 11 views
0

私はポケットベルアダプターを使ってギャラリー画像をスワイプし、画像を読み込むためにグライドしようとしています。それは働いていますが、より速くなる可能性があります。私はアンドロイドのギャラリーアプリと同じくらい速くしたいと思います。フルスクリーンイメージスライダーがまだ遅いのはなぜですか?

私は多くのグライドオプションを試しました。私が.override(600,200)を設定すると、それは私が望むように速くなりますが、それはもちろん適切な解決策ではありません。私は、最初の画像のtreeObserverでImageViewのサイズを取得しようとしました。しかしそれは残念なことに本当に速くはありません。

なぜそれがまだ遅いのですが、私はそれをより速くするために何ができますか?

@Override 
public Object instantiateItem(ViewGroup container,final int position) {    
     ImageView imgView; 
     inflater = (LayoutInflater) _activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View viewLayout = inflater.inflate(R.layout.layout_fullscreen_image, container,false); 

     imgView = (ImageView) viewLayout.findViewById(R.id.img_view); 

     Glide.with(_activity).load(_imagePaths.get(position)) 
       .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
       .dontAnimate() 
       //.override(600, 200) //this is really fast, but not a solution for best quality!! 
       .into(imgView); 

     ((ViewPager) container).addView(viewLayout); 

     return viewLayout; 


    } 

ありがとうございます!

答えて

0

画面の高さと幅に応じてピカソを使用して画像のサイズを変更します。今すぐあなたがページビューアのページャーをスワイプしている間、画像ビューに画像をロードするのに時間がかかる理由、ページアダプターに大きな画像をロードしています。

Picasso.with(this) 
       .load("your image path") 
       .resize(getWindowManager().getDefaultDisplay().getWidth(), getWindowManager().getDefaultDisplay().getHeight()) 
       .into(imageview); 
+0

だから、ピカソを使用して大きな画像をポケットベルのアダプターに読み込む方が高速でしょうか?私はちょうど私のようにそれを行う必要がありますが、代わりにピカソする必要がありますか?滑空はもっと速いと思った。 – treesoft

+0

ピカソとグライドは同じですが、画面サイズに合わせて画像のサイズを変更する必要があります。画像のサイズが大きく、画面の解像度が遅く、アプリのパフォーマンスが遅くなります。 –

+0

私はtreeViewer(imageViewが実際に描画されたときの幅と高さの取得)でimageViewサイズを取得しようとしましたが、.override(width、height)で滑らせて画像を拡大/縮小しました。しかしそれでもまだ十分に速くはありませんでした。しかし、私はあなたのコードをwindowManagerで試してみましょう(滑空とピカソの両方で)。今までありがとう! – treesoft

関連する問題