当前位置: 首页 > news >正文

广东网站制作公司服务器建网站教程

广东网站制作公司,服务器建网站教程,石家庄网页设计机构,好用的wordpress企业模版RecycleView 和 ListView对比: 使用方法上 ListView:继承重写 BaseAdapter,自定义 ViewHolder 与 converView优化。 RecyclerView: 继承重写 RecyclerView.Adapter 与 RecyclerView.ViewHolder。设置 LayoutManager 来展示不同的布局样式 ViewHolder的编写规范化,ListVie…

RecycleView 和 ListView对比:
使用方法上
ListView:继承重写 BaseAdapter,自定义 ViewHolder 与 converView优化。

RecyclerView: 继承重写 RecyclerView.Adapter 与 RecyclerView.ViewHolder。设置 LayoutManager 来展示不同的布局样式

ViewHolder的编写规范化,ListView是需要自己定义的,而RecyclerView是规范好的;
RecyclerView复用item全部搞定,不需要像ListView那样setTag()与getTag();
RecyclerView多了一些LayoutManager工作,但实现了布局效果多样化;
2. 动画api
在RecyclerView中自带动画效果,例如:notifyItemChanged(), notifyDataInserted(), notifyItemMoved()等等;同时内置有许多动画API,如果需要自定义动画效果,可以通过实现(RecyclerView.ItemAnimator类)完成自定义动画效果,然后调用RecyclerView.setItemAnimator();
但是ListView并没有实现动画效果,需要在Adapter自己自定义;
3. 缓存区别
ListView和RecyclerView最大的区别在于数据源改变时的缓存的处理逻辑,ListView有二级缓存,
RecycleBin在layout的过程中便于view重用,RecycleBin有两级存储:ActiveViews和ScrapViews。
ActiveViews存储的是layout开始的时候屏幕上那些view。layout结束后,所有ActiveViews中的view被移动到ScrapViews中。
ScrapViews中的views是那些可能被adapter重新用到的view,以避免重新创建不必要的view。
而RecyclerView则是更加灵活地采用了四级缓存。
在这里插入图片描述

  • RecyclerView缓存的item的复用机制
    触摸角度
    在这里插入图片描述
    layout角度的话少一个scrapView的调用
    在这里插入图片描述
    在这里插入图片描述

设置缓存相关代码方法

//设置mCahceView的缓存数量
RecyclerView.setItemViewCacheSizepublic abstract static class ViewCacheExtension {@Nullablepublic abstract View getViewForPositionAndType(@NonNull Recycler recycler, int position,int type);}
//自定义缓存ImageCacheExtension继承RecyclerView.ViewCacheExtension,一般不自己写,你写了之后就不会走onBindView了,只会走getViewForPositionAndType,你可以从onBindView方法调用你的缓存方法,毕竟这个方法对于同个Viewholder的第二次回调只会发生在recyclerPool中,如果优先了ViewCacheExtension,那就只会走自己的缓存。
ImageCacheExtension cacheExtension = new ImageCacheExtension();//自定义Viewholder的缓存和获取缓存
RecyclerView recyclerView = findViewById(R.id.recycler_view);
recyclerView.setViewCacheExtension(cacheExtension);recyclerView.setAdapter(adapter);

RecyclerViewPool

RecyclerView.RecycledViewPool pool = new RecyclerView.RecycledViewPool();
RecyclerView.ViewHolder type1Holder = new Type1ViewHolder(LayoutInflater.from(this).inflate(R.layout.item_type_1, null))
http://www.15wanjia.com/news/155671.html

相关文章:

  • 龙华网站建设专业定制企业温州免费网站建站模板
  • 行业门户网站源码做网站公司q房网
  • 鹤山网站建设菠菜推广
  • 做网站属于印花税哪个范畴网站服务器配置参考指南
  • 网站app充值记账凭证怎么做wordpress 文章在数据库
  • 外贸平台网站的营销方式wordpress互访页面
  • 企业网站推广怎么做ciid室内设计协会
  • 做电子请帖网站有哪些怎么把asp网站改成php
  • 用ppt做网站免费网店代运营
  • 博物馆网站建设目的网站的用户体验主要有那些类型
  • 网站做支付借口多少钱网站 为什么要备案
  • 门户网站建设困难重庆网站建设选圣矢
  • 建设部职称评审的网站vscode怎么做网页
  • 求跳转代码来自百度等搜索引擎访问跳转到另一个网站直接输入域名温州网站优化推广方案
  • 微信网站设计分析酒店网站建设协议
  • 张槎网站设计python网站开发招聘
  • 做网站价格公司市场营销策略有哪几种
  • 网站是别人做的域名自己怎么续费动易网站 模板
  • 婚纱制作网站多商户商城系统源码
  • 搞笑网站源码南京明辉建设集团网站
  • 免费域名模板建站做网站获流量
  • 想让一个网站上线需要怎么做wordpress后台好卡
  • 建设局网站查询个人信息上海做展会的网站都有哪些
  • 多国语言网站模板怎么做网站黑链
  • python做网站 教育深圳室内设计公司排行
  • 新手搭建做网站国外手表网站
  • 如何查看域名以前是做什么网站的wordpress应用引入的js
  • 泊头做网站的河南郑州新闻头条最新事件
  • 怎样设置个人网站网站的技术支持
  • 门户网站开发工具软件eclipse jsp 网站开发