首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Xamarin表单:如何在ListView中处理大数据?

Xamarin表单:如何在ListView中处理大数据?
EN

Stack Overflow用户
提问于 2020-02-13 02:09:43
回答 2查看 1.3K关注 0票数 0

我需要在ListView中显示非常大的数据。必须加载所有数据一次吗?我的代码如下:

代码语言:javascript
运行
AI代码解释
复制
using System.Collections.ObjectModel;

namespace Brunie.Mobile.ViewModels {
    public class VmListCompany {
        public ObservableCollection<Company> AllCompanies {
            get;
        } = new ObservableCollection<Company>();
        public VmListCompany() {
            LoadAllCompanies();
        }
        private void LoadAllCompanies() {
            Company company = null;
            while(null != (company = GetNextCompany(company))) {
                AllCompanies.Add(company);
            }
        }
        private bool HasNextCompany(Company company) {
            bool hasNextCompany = false;
            ......
            return (hasNextCompany);
        }
        private Company GetNextCompany(Company company) {
            if(!HasNextCompany(company)) {
                return (null);
            }
            Company nextCompany = new Company();
            ......
            return (nextCompany);
        }
    }
    public class Company {
        public string Name {
            get;
            set;
        }
        public string Address {
            get;
            set;
        }
        public int NumberOfEmployees {
            get;
            set;
        }
    }
}

Xaml中的ListView:

代码语言:javascript
运行
AI代码解释
复制
<ListView ItemsSource="{Binding AllCompanies}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <Label Text="{Binding Name}" />
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

在调用LoadAllCompanies之后,AllCompanies的计数为20562104。所以我的应用程序现在非常慢。如何处理这种情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-13 03:42:57

正如@Chetan所说,使用API分页是最好的方法。尽管如此,如果您由于某些原因无法更改分页(假设它是第三方API),您仍然可以通过优化列表视图的缓存策略来提高性能,如文档所示

票数 0
EN

Stack Overflow用户

发布于 2020-02-13 02:40:14

在API端使用分页并在ListItemAppearing上加载数据

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60205278

复制
相关文章
Xamarin使用ListView开启分组视图Cell数据展示bug处理
问题描述 Xamarin使用IsGroupingEnabled="true"之后再Cell操作就会出现数据展示bug,数据不刷新的问题,如下图所示: 点击取消的是其他钢厂,但ViewCell展示的一直
磊哥
2018/05/08
6670
Xamarin使用ListView开启分组视图Cell数据展示bug处理
xamarin android listview的用法
listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣。原谅我的大小写吧.
全栈程序员站长
2022/09/15
8900
xamarin android listview的用法
winfrom如何在listview中添加控件
private Button btn = new Button(); private void Form1_Load(object sender, EventArgs e) { ListViewItem[] lvs = new ListViewItem[3]; lvs[0] = new ListViewItem(new string[] { "行1列1", "行1列2", "" }); l
码农阿宇
2018/04/18
2.6K0
如何在JavaScript中处理大量数据
在几年之前,开发人员不会去考虑在服务端之外处理大量的数据。现在这种观念已经改变了,很多Ajax程序需要在客户端和服务器端传输大量的数据。此外,更新DOM节点的处理在浏览器端来看也是一个很耗时的工作。而且,需要对这些信息进行分析处理的时候也很可能导致程序无响应,浏览器抛出错误。 将需要大量处理数据的过程分割成很多小段,然后通过JavaScript的计时器来分别执行,就可以防止浏览器假死。先看看怎么开始: function ProcessArray(data,handler,callback){ Process
CSDN技术头条
2018/02/09
3.1K0
flutter - 如何在SingleChildScrollView中实现非滚动 ListView
我试图在这里实现一个不可滚动的ListView构建器,但似乎找不到解决方法。原因是因为我希望所有内容都是可滚动的,并且我不想在可滚动的父级中拥有可滚动的小部件。
徐建国
2021/08/03
2.5K0
在Excel中处理和使用地理空间数据(如POI数据)
因为不是所有规划相关人员,都熟悉GIS软件,或者有必要熟悉GIS软件,所以可能我们得寻求另一种方法,去简单地、快速地处理和使用地理空间数据——所幸,我们可以通过Excel自带的“三维地图”功能来简单满足一些差不多够用的需求。
Sidchen
2020/08/02
11K0
Angular 表单2--响应式表单, 处理异步数据
上一节中我们定义了一个响应式表单,其中表单数据是在定义的时候就初始化好的,但是很多时候数据需要异步获取,比如 打开一个编辑页面,需要
mafeifan
2019/03/08
2.8K0
android中listview分页载入数据
前段时间做的新浪微博项目一直想实现listview分页载入数据,今天最终实现了,哈哈!感觉挺好的,今天又写了个demo给大家分享下。
全栈程序员站长
2022/07/14
9790
android中listview分页载入数据
Vue3中表单相关的知识:表单绑定、表单验证、表单处理
表单是前端开发中经常使用的一种交互方式,它提供了一种用户输入和提交数据的机制。Vue3作为一款流行的JavaScript框架,提供了丰富的表单处理功能,使得我们能够轻松地创建、验证和获取表单数据。本文将详细介绍Vue3中表单相关的知识,包括表单绑定、表单验证、表单处理等方面。
网络技术联盟站
2023/07/05
3K0
Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
Xamarin.Forms 是一个跨平台的、基于原生控件的UI工具包,开发人员可以轻松的创建适用于 Android,iOS 以及 Windows Phone的用户界面。Xamarin.Forms 通过使用平台的原生控件来渲染用户界面,使用 Xamarin.Forms 的 App在外观上与平台完全一致。通过本文您可以快速了解如何使用 Xamarin.Form 来进行应用程序的开发。 简介 Xamarin.Forms可以帮助开发人员快速的构建跨平台的UI,通过一次编码,生成多平台界面。如果你做的工作涉及到三个平
葡萄城控件
2018/01/10
13.1K0
Xamarin.Forms入门-使用 Xamarin.Forms 来创建跨平台的用户界面
windows_清空listview中的数据
winfrom调用的浏览器默认内核是ie的,这在当下是很受限制的,前几年的webkit还是挺不错的,可惜停止维护和更新了,当下使用webkit不免也有些不兼容;
全栈程序员站长
2022/09/28
1.4K0
windows_清空listview中的数据
Flutter 中 ListView 动态数据生成列表
1. 循环数据,生成列表效果。 import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } // 抽离成一个单独的组件 class MyApp extends StatelessWidget{ @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold(
越陌度阡
2020/12/22
3.3K0
Flutter 中 ListView 动态数据生成列表
Flutter中ListView 动态数据生成列表
1. 循环数据,生成列表效果。 import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } // 抽离成一个单独的组件 class MyApp extends StatelessWidget{ @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold(
越陌度阡
2022/05/06
1.7K0
Flutter中ListView 动态数据生成列表
如何在Java中处理JSON
New 一个 ObjectMapper对象,后续将利用这个ObjectMapper对象来进行一系列的操作。
泰坦HW
2020/07/22
1.6K0
Flask表单处理
在Web应用程序中,表单是非常常见的元素,用户可以通过表单来输入数据并将其提交到服务器。在Flask中,您可以使用Flask-WTF扩展来轻松地处理表单。
堕落飞鸟
2023/05/05
1.1K2
如何在代码中处理时间
在国际化应用中,对日期/时间的处理远比你想象中的更难,特别是当涉及到时区的时候。为什么会这么难?我们该如何解决它?请听我为你一一解析。几乎所有的系统都离不开“时间”的概念,以至于大多数语言(及其默认库)都定义了日期/时间等类型。但是,我们日常所说的“时间”这个词实际上包含了多个相似却有微妙差异的概念。如果不能分清它们,会给你的开发工作带来很多烦恼。
ThoughtWorks
2021/09/15
1.6K0
listview优化(中)
1,对Imageview使用setTag()方法来解决图片错位问题,这个Tag中设置的是图片的url,然后在加载的时候取得这个url和要加载那position中的url对比,如果不相同就加载,相同就是复用以前的就不加载了 2,对于要加载的图片资源,先在内存缓存中找(原始的方法是使用SoftRefrence,最新的方法是使用android提供的Lrucache),如果找不到,则在本地缓存(可以使用DiskLrucache类)中找(也就是读取原先下载过的本地图片),还找不到,就开启异步线程去下载图片,下载以
xiangzhihong
2018/01/30
1.1K0
JavaScript 表单处理
为了分担服务器处理表单的压力,JavaScript提供了一些解决方案,从而大大打破了处处依赖服务器的局面。 一.表单介绍 在HTML中,表单是由<form>元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement类型。HTMLFormElement继承了HTMLElement,因此它拥有HTML元素具有的默认属性,并且还独有自己的属性和方法: HTMLFormElement属性和方法 属性或方法 说明 acceptCharset 服务器能够处理
汤高
2018/01/11
4.9K0
点击加载更多

相似问题

Xamarin表单:如何在listview中搜索

10

Xamarin表单如何在listView(REST API)上显示数据

219

如何在Xamarin表单中向ListView添加BackgroundImage?

011

Xamarin表单: ListView中的MVVM数据绑定问题

21

xamarin表单中的多级Listview

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文