viewpagerを使用して4つの画像でアプリのイントロツアーを作成しようとしています。 前の画像から次の画像にスライドするのに非常に時間がかかります。ビューページャーを使用した4つの画像のスライドが非常に遅い
I/Choreographer: Skipped 100 frames! The application may be doing too much work on its main thread.
I/Choreographer: Skipped 94 frames! The application may be doing too much work on its main thread.
をスライドさせながら、私は、以下の方法を試みたlogcatに次のログを取得しています。)
1 setImageResourceを(レイテンシしゃっくりを引き起こす可能性がUIスレッド、上のビットマップの読み込みとデコードを行います。これが問題であれば、2.setImageDrawable(android.graphics.drawable.Drawable)または3.setImageBitmap(android.graphics.Bitmap)とBitmapFactoryを代わりに使用することを検討してください。 サイズとあなたのイメージの解像度も遅いスクロールの原因となることができます、 はあなたの大きな画像や利用のサムネイル画像を作成してみてください。
も試みスタックオーバーフローを(私は描画可能に30-50kbする100キロバイトから画像のサイズを減らします)それでも
Memory leak with images in viewpager
以前からビューページャの次の画像に多くの時間を割い画像:以下の答え。 私は別のデバイスでそれをテストしました。 moto xでは、samsung、moto E、Lenovoのような最も遅いデバイスや他のデバイスを再生する速度は少し速いが、それでもマークにはならない。
私は描画可能なフォルダに4つの画像があり、以下のコードを使用して画像をスライドしようとしています。
@Override
public int getCount() {
return mResources.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == (object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.pager_item, container, false);
ImageView imageView = (ImageView) itemView.findViewById(R.id.img_pager_item);
imageView.setImageDrawable(mResources[position]);
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
ありがとうございます!
setImageDrawableをsetImageResourceに変更しようとします。それは私のために働いています。 –
同様に、同じ出力を試しました! –
1)まず画像と解像度のサイズを確認してください。 2)マニフェストファイルに_largeHeap = "true" _を設定します。 3)_Glide_を使用して画像を読み込みます。 – Piyush