我正在尝试制作一个拍摄视频然后在网格视图中显示视频的应用程序。我已经到了所有视频缩略图都像应有的那样显示在网格视图中的地步。但是,我的问题是我使用的方法有很多滞后时间。加载gridview需要一些时间,当我尝试滚动时,总会有某种滞后。这很可能是因为我对每个视频缩略图都使用了位图。
我想知道我能做些什么来让它更快更顺畅。我的代码发布在下面。
class VideoAdapter extends BaseAdapter {
Context context;
ArrayList<String> videopathlist;
Bitmap bmthumb;
VideoAdapter(Context c, ArrayList<String> filepathlist){
context = c;
videopathlist = new ArrayList<String>();
this.videopathlist.addAll(filepathlist);
Log.i(TAG, "" + videopathlist);
}
@Override
public int getCount() {
return videopathlist.size();
}
@Override
public Object getItem(int position) {
return videopathlist.get(position);
}
@Override
public long getItemId(int arg0) {
return 0;
}
@Override
public View getView(int posiiton, View arg1, ViewGroup arg2) {
ImageView imageview = new ImageView(context);
bmthumb = ThumbnailUtils.createVideoThumbnail(videopathlist.get(posiiton), MediaStore.Video.Thumbnails.MINI_KIND);
if (bmthumb != null) {
Log.i(TAG1, "There is a thumbnail");
imageview.setImageBitmap(bmthumb);
} else {
Log.i(TAG1, "There is NOT a thumbnail");
}
imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageview.setLayoutParams(new GridView.LayoutParams(160, 160));
return imageview;
}
谢谢你的帮助