首页
学习
活动
专区
圈层
工具
发布

React-Native iOS 列表(ListView)优化方案

在项目开发中,很多地方用到了列表,而 React-Native 官网中提供的组件 ListView,虽然能够满足我们的需求,但是性能问题并没有很好的解决,对于需要展现大量数据的列表,app 的内存将会非常庞大...针对 React-Native 的列表性能问题,现在提供几套可行性方案: 1.利用 Facebook 提供的建议对 ListView 进行优化 Facebook 官方对 ListView 的性能优化做了简单介绍...总结 从上面的几种方案可以看出,方案1、2、3、4都能够比较好的解决列表的性能问题 ,而且各有优缺点,那么,我们在项目开发中该如何应用呢?...当我们在进行列表展示的时候,如果数据量不是特别的庞大(不是无限滚动的),且界面比较复杂的时候,方案1能够比较好的解决性能问题,而且操作起来比较简单,只需要对 listview 的一些属性进行基本设置。...当我们需要展示很多数据的时候(不是无限滚动的),我们可以使用方案2,对那些超出屏幕外的部分,对他进行组件最小化 当我们需要展示大量数据(可以无限滚动的),我们可以通过方案3/4,来达到重用的目的

2.9K20

listview优化(中)

但是还没有加载完时,又重复开启线程去加载图片的情况 5,在快速滑动的时候不加载图片,取消所有图片加载线程,一旦停下来,继续可见图片的加载线程 下面都是我摘取的网上的一些例子,我分别介绍它们来说明上述的优化思路...上述代码完成了基本的优化思路,甚至使用了一个自己定义的缓存类MemoryCache,使管理变得更加清晰,同时有文件缓存,也通过imagview->url的方式避免了图片错位,还开启了异步线程下载图片,但是又开启了一个... listView;   private AsyncImageLoader asyncImageLoader;   public ImageAndTextListAdapter(Activity... activity, List imageAndTexts, ListView listView) {   super(activity, 0, imageAndTexts...);   this.listView = listView;               asyncImageLoader = new AsyncImageLoader();

1.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ListView异步加载优化

    http://www.iteye.com/topic/685986 《Android实现ListView异步加载图片 》相信很多人都用过这个方法,用起来的确不错,但本人的项目中发现,使用起来还是会有些问题...2.如果一屏幕显示的listview的item有10条,就会开10条线程同时下载图片,cpu的占用率特别高。 3.每个item生成一个ViweCache对象,特别耗内存。...仿照Android的APIdemo的listview适配器写法, 4.item里面如果图片的url是错误的,就会出现图片的占位符号消失,右边的textview的文字移动过来,影响美观。  ...在修改的过程中遇到一个问题,listview的getView()方法莫名其妙执行三次的问题,原来是:listview的布局文件的问题: 1....ListView    2.android:id="@+id/list" 3.android:layout_width="fill_parent" 4.android:layout_height

    2.1K100

    ListView优化和列表首尾使用

    前面连续几期都在学习ListView的各种使用方法,如果细心的同学可能会发现其运行效率是有待提高的,那么本期就来一起学习有哪些方法技巧来优化ListView的效率。...那么我们是否可以利用这一点来优化我们的ListView运行效率呢?答案是肯定的。...接下来就在“自定义BaseAdapter”的基础上来开始优化,除了MyBaseAdapter类的getView()方法代码会发生改变,其他不变。...一个比较理想的方案就是,仍然使用XML布局,但是又可以缓存行中的关键子组件,也就是只需要查找一次即可,就意味着要使用持有者模式了。...至此,关于ListView简单优化和列表头、尾的简单使用学习完毕,如果还不是很熟悉,建议多加练习,下期一起来学习ListView的数据动态更新。

    2.4K80

    2-VI--ListView的基本使用及优化

    零、前言 [1] ListView 可以说是曾经的数一数二的控件,现在渐渐被RecycleView夺取锋芒。简单功能的使用ListView还是可以的。...[2] 本篇数据来源随机数据,方法可以看这篇:1-VI--随机数据生成 [3] 本篇介绍ListView数据填充及优化,普通使用-->convertView优化-->ViewHolder优化 效果...AppCompatActivity { private static final String TAG = "MainActivity"; @BindView(R.id.lv) ListView...position)); return view; } } 数据200000条,测试时,当滑动很快时,不断创建View条目,会卡卡的 ---- 二、优化...R.id.tv_title); tv_title.setText(getItem(position)); return view; 数据200000条,测试时,当滑动非常非常快时,会有一点点会卡 ---- 三、优化

    75510

    一种统计ListView滚动距离的方案

    ListView做为Android中最常使用的列表控件,主要用来显示同一类的数据,如应用列表,商品列表等。ListView的详细使用与介绍可查阅官方文档ListView。这里不再展示叙述。...虽然觉得这个需求很扯淡,但做为开发的我还是老老实实去寻找实际的统计解决方案。但搜索了一圈并没有找到一个满足需求的解决方案。于是就有了此文。...2 方案 2.1 ListView滚动监听 ListView提供了一个setOnScrollListener的接口来接收List的滚动事件: public class AbsListView{ ......2.2 统计方案 核心方案:通过第一个可见item的变化来统计判断实际滑动的距离,离开时通过累加初始时可见item到离开时可见item的高度来统计实现 第一次进来时(收到滚动回调)时,记录下此时第一个可见...()); 3 总结 本文从实际使用的场景出发,提出了一个可记录ListView滚动距离的实际方案,该方案可精确统计各种场景下ListView的实际滚动距离,并兼容了常见的边界统计的问题。

    1.8K20

    ListView详解

    只是字符串就用ArrayAdapter,用到图文混排的就用自定义的 2.listview的优化(convertView,viewholder) 首先来了解一下ListView的工作原理。...ListView 针对每个item,要求 adapter“返回一个视图” (getView),也就是说ListView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到ListView...用convertView减少文件解析次数 Android系统本身为我们考虑了ListView的优化问题,在复写的Adapter的类中,比较重要的两个方法是getCount()和getView()。...界面上有多少个条显示,就会调用多少次的getView()方法;因此如果在每次调用的时候,如果不进行优化,每次都会使用View.inflate(….)的方法,都要将xml文件解析,并显示到界面上,这是非常消耗资源的...最重要的是,这样优化ListView来处理大的列表的最大缺陷是,因为它迫使ListView显示整个项目列表填满由ScrollView 提供的空间。

    1.8K60
    领券