Android RecycleServiceAdapter滞后于mapview

Android RecycleServiceAdapter滞后于mapview,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我面临一个关于回收服务适配器的问题。 我正在使用片段,我有4个片段。3片段工作正常,没有延迟。但是在第4个片段中,我使用了mapview,我的recyclerView变慢意味着在滚动时不能像前面的片段那样平滑滚动 这是我的回收服务适配器: public class VenturesAdapter extends RecyclerView.Adapter<VenturesAdapter.MyViewHolder>{ Context mContext; List<v

我面临一个关于回收服务适配器的问题。 我正在使用
片段
,我有4个
片段
。3
片段
工作正常,没有延迟。但是在第4个
片段
中,我使用了
mapview
,我的
recyclerView
变慢意味着在滚动时不能像前面的
片段
那样平滑滚动

这是我的回收服务适配器:

public class VenturesAdapter extends RecyclerView.Adapter<VenturesAdapter.MyViewHolder>{
    Context mContext;
    List<venturesPojo> venturesList=new ArrayList<>();
    OnBottomReachedListener onBottomReachedListener;
    GoogleMap googleMap1;



    public class MyViewHolder extends RecyclerView.ViewHolder

    {

        TextView title,description,address;
        ImageView logo;
        Button viewWeb;
        private MapView mapView;
        public MyViewHolder(View itemView) {
            super(itemView);

            title = (TextView) itemView.findViewById(R.id.title);
            description = (TextView) itemView.findViewById(R.id.description);
            address = (TextView) itemView.findViewById(R.id.address);
            logo = (ImageView) itemView.findViewById(R.id.logo);
            viewWeb = (Button) itemView.findViewById(R.id.viewWebsites);
            mapView = (MapView) itemView.findViewById(R.id.mapView);
            description.setMovementMethod(new ScrollingMovementMethod());
            description.setNestedScrollingEnabled(true);
            description.setVerticalScrollBarEnabled(true);
            description.setOnTouchListener(new View.OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {
                    // Disallow the touch request for parent scroll on touch of child view
                    v.getParent().requestDisallowInterceptTouchEvent(true);
                    return false;
                }
            });
        }


    }

    public VenturesAdapter(Context mContext, List<venturesPojo> venturesList) {
        this.mContext = mContext;
        this.venturesList = venturesList;
    }

    @Override
    public VenturesAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.single_ventures_list, parent, false);
        return new VenturesAdapter.MyViewHolder(itemView);
    }

    public void setOnBottomReachedListener(OnBottomReachedListener onBottomReachedListener) {
        this.onBottomReachedListener = onBottomReachedListener;
    }
    @Override
    public void onBindViewHolder(VenturesAdapter.MyViewHolder holder, int position) {
        venturesPojo venturesPojo=venturesList.get(position);

        if (position ==venturesList.size() - 2  ){

            onBottomReachedListener.onBottomReached(position);

        }
        holder.mapView.onCreate(null);

        holder.mapView.onResume();

     final   String lat=venturesPojo.getLatitude();
     final   String lng=venturesPojo.getLongitude();

     if(!TextUtils.isEmpty(lat) || !TextUtils.isEmpty(lng)) {
         final LatLng target=new LatLng(Double.parseDouble(lat),Double.parseDouble(lng));

         holder.mapView.getMapAsync(new OnMapReadyCallback() {
             @Override
             public void onMapReady(GoogleMap googleMap) {
                 googleMap1=googleMap;
                 googleMap.addMarker(new MarkerOptions().position(target));
                 googleMap.getUiSettings().setZoomControlsEnabled(true);
                 googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(target,16));
                 googleMap.animateCamera(CameraUpdateFactory.zoomIn());
                 googleMap.animateCamera(CameraUpdateFactory.zoomTo(16), 1500, null);

             }
         });
     }

        holder.title.setText(venturesPojo.getAgency_name());
        holder.description.setText(Html.escapeHtml(venturesPojo.getDescription()));
        holder.address.setText(venturesPojo.getAddress());




        if(!TextUtils.isEmpty(Config.agencyLogo+venturesPojo.getLogo().trim()))
        {
            String logoUrl=Config.agencyLogo+venturesPojo.getLogo().replace(" ","%20");
            Log.d("images",logoUrl);
            Glide
                    .with(mContext)
                    .load(logoUrl)
                    .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.RESOURCE))
                    .into(holder.logo);
        }
        else
        {
            holder.logo.setImageResource(R.drawable.thum);
        }


    }


    @Override
    public int getItemCount() {
        return venturesList.size();
    }

    @Override
    public void onViewRecycled(MyViewHolder holder) {

        if(googleMap1!=null)
        {
           googleMap1.clear();
           googleMap1.setMapType(GoogleMap.MAP_TYPE_NONE);
        }
    }
}
公共类VentureAdapter扩展了RecyclerView.Adapter{
语境;
List venturesList=new ArrayList();
OnBottomReachedListener OnBottomReachedListener;
谷歌地图谷歌地图1;
公共类MyViewHolder扩展了RecyclerView.ViewHolder
{
文本视图标题、描述、地址;
ImageView徽标;
按钮查看网页;
私有地图视图;
公共MyViewHolder(查看项目视图){
超级(项目视图);
title=(TextView)itemView.findViewById(R.id.title);
description=(TextView)itemView.findViewById(R.id.description);
地址=(TextView)itemView.findViewById(R.id.address);
logo=(ImageView)itemView.findViewById(R.id.logo);
viewWeb=(按钮)itemView.findViewById(R.id.viewWebsites);
mapView=(mapView)itemView.findViewById(R.id.mapView);
description.setMovementMethod(新的ScrollingMovementMethod());
description.setNestedScrollingEnabled(true);
description.setVerticalScrollBarEnabled(true);
description.setOnTouchListener(新视图.OnTouchListener(){
公共布尔onTouch(视图v,运动事件){
//禁止在触摸子视图时对父滚动进行触摸请求
v、 getParent().RequestDisallowWinterCeptTouchEvent(true);
返回false;
}
});
}
}
public VentureAdapter(上下文mContext,列表VentureList){
this.mContext=mContext;
this.venturesList=venturesList;
}
@凌驾
public VentureAdapter.MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
View itemView=LayoutInflater.from(parent.getContext())
.充气(R.layout.single_ventures_list,parent,false);
返回新的VentureAdapter.MyViewHolder(itemView);
}
public void setOnBottomReachedListener(OnBottomReachedListener OnBottomReachedListener){
this.onbottomreachedstener=onbottomreachedstener;
}
@凌驾
BindViewHolder上的公共无效(VentureAdapter.MyViewHolder,int位置){
venturesPojo venturesPojo=VentureList.get(位置);
如果(位置==venturesList.size()-2){
onBottomReachedListener.OnBottomReach(位置);
}
holder.mapView.onCreate(空);
holder.mapView.onResume();
最终字符串lat=venturesPojo.getLatitude();
最终字符串lng=venturesPojo.getLongitude();
如果(!TextUtils.isEmpty(lat)| |!TextUtils.isEmpty(lng)){
最终LatLng目标=新LatLng(Double.parseDouble(lat),Double.parseDouble(lng));
holder.mapView.getMapAsync(新的OnMapReadyCallback(){
@凌驾
4月1日公开作废(谷歌地图谷歌地图){
谷歌地图1=谷歌地图;
addMarker(新的MarkerOptions().position(target));
googleMap.getUiSettings().setZoomControlsEnabled(true);
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(目标,16));
animateCamera(CameraUpdateFactory.zoomIn());
googleMap.animateCamera(CameraUpdateFactory.zoomTo(16),1500,空);
}
});
}
holder.title.setText(venturesPojo.getAgency_name());
holder.description.setText(Html.escapeHtml(venturesPojo.getDescription());
holder.address.setText(venturesPojo.getAddress());
如果(!TextUtils.isEmpty(Config.agencyLogo+venturesPojo.getLogo().trim()))
{
字符串logoUrl=Config.agencyLogo+venturesPojo.getLogo().replace(“,“%20”);
Log.d(“图像”,logoUrl);
滑翔
.with(mContext)
.load(logoUrl)
.apply(新请求选项().diskCacheStrategy(diskCacheStrategy.RESOURCE))
.插入(支架.徽标);
}
其他的
{
支架.logo.setImageResource(R.drawable.thum);
}
}
@凌驾
public int getItemCount(){
return venturesList.size();
}
@凌驾
视图上的公共无效已回收(MyViewHolder){
if(googleMap1!=null)
{
googleMap1.clear();
googleMap1.setMapType(GoogleMap.MAP\u TYPE\u NONE);
}
}
}
我在ViewRecycled上添加了
,因为当我搜索时,一些成员给出了这个解决方案,但对我不起作用,仍然滞后