`
前进的路中没有月亮
  • 浏览: 20419 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

iMAG中的复用列表的使用说明

阅读更多

复用列表(resue list)在爱码哥中是不同于普通列表的另外一种列表,使用复用列表是为了优化性能,在大数据的情况下(上千个item)避免因内存占用过多而导致系统崩溃。这是因为在移动应用中view(视图)是很耗费系统资源的一个对象,过多的view(几千个,view所占内存大小取决于view的面积)可能会引起内存不足而崩溃,同时一次性加载这么多view也会花费很长的时间。

对此相应的解决方案是使用reuse list,reuse list的原理是只创建一屏幕显示的view对象,当view被滚动超出屏幕之后就会被用来复用,因此始终只会占用一屏幕view的内存, 有效地解决了内存不足而引起崩溃的问题, 同时因为实际创建的view个数较少,具有很快的加载速度。

使用复用列表需要设置reuse="true",同时content里只能有一个list,不能有多个list或其他控件

 

<content>
    <list id="resuelist" reuse="true">
        <item accessory="indicator">
            <label></label>
            <label style="color:gray"></label>
        </item>
    </list>
</content>

reuse list中的item和普通list中的item有很大不同,因为reuse list的item并不是实际内容,而是UI模版,reuse list的item内容都通过Javascript脚本动态创建。关于reuse list完整的示例如下:

 

<?xml version="1.0" encoding="utf-8"?>
<imag>
    <script>
    <![CDATA[
        function initList() {
            var listJson = {items:[]};
            for (var i = 0; i < 1000; i++) {
                var itemJson = {
                    template:0,
                    onclick:'alert("item' + i + '")',
                    widgets:{
                        title:{text:'标题' + i},
                        subtitle:{text: '副标题' + i}
                    }
                }
                listJson.items.push(itemJson);
            }
            $('resuelist').update(listJson);
        }
         
        $page.onload = function() {
            initList();
        }
    ]]>   
    </script>
    <page>
        <title>
            <center>
                <label>reuse list</label>
            </center>
        </title>
        <content>
            <list id="resuelist" reuse="true">
                <item accessory="indicator">
                    <label reusekey="title"></label>
                    <label style="color:gray" reusekey="subtitle"></label>
                </item>
            </list>
        </content>
    </page>
</imag>




分享到:
评论

相关推荐

    PyPI 官网下载 | imag3-1.1.0.tar.gz

    例如,使用`imag3.load()`函数加载图片,`imag3.save()`函数保存处理后的图片,通过`imag3.rotate()`或`imag3.crop()`进行图像旋转和裁剪。 4. **开发与进阶**: 对于开发者来说,imag3库的源代码提供了一个学习...

    imag推送程序

    "imag推送程序"是针对iOS平台的一个特定应用组件,它主要负责处理应用程序内部的...以上就是"imag推送程序"在iOS环境中的基本工作原理和相关知识点,涉及到了APNS、项目构建配置、源代码结构以及第三方库的使用等方面。

    imag.js|教你如何智做原生APP

    【压缩包子文件的文件名称列表】"imag-mh0808"很可能包含了imag.js的源代码文件,或者是与教程相关的示例项目。"mh0808"可能是版本号或者作者的标识,用于区分不同的发布或修订。下载并解压这个文件后,开发者可以...

    漂亮imag图片

    8. 数字图像处理库:在编程中,我们经常使用各种库来处理图像,如Python的PIL(Python Imaging Library)或OpenCV,它们提供了丰富的函数和工具来实现各种图像处理任务。 9. 人工智能与深度学习:近年来,随着深度...

    吸附薄液膜下PCB-ImAg和PCB-HASL电化学迁移腐蚀行为与机理(英文).pdf

    研究结果显示,在不同的湿度条件下,PCB-ImAg中的银迁移腐蚀产物数量是有限的,而PCB-HASL在高湿度条件下(超过85%)则发现了铜枝晶和沉淀物,如硫酸盐和铜/锡金属氧化物。通过SKP测试,研究人员观察到在偏压作用下...

    cut_imag.7z

    截屏工具在现代计算机使用中扮演着不可或缺的角色,尤其在信息分享、问题反馈以及教学演示等场景中,它提供了便捷的方式来捕捉屏幕上的图像。"cut_imag.7z"便是一款针对Windows操作系统设计的截屏工具,通过解压此7z...

    4_Add2Imag.zip_thisimag

    【压缩包子文件的文件名称列表】虽然只有一个文件名"4_Add2Imag"给出,但通常在OpenCV项目中,我们期待看到如下文件: 1. `main.cpp` 或 `main.py`: 主程序文件,包含了调用OpenCV函数并执行图像处理逻辑的代码。 2...

    iMAG8024U报警管理服务器产品使用手册v10-图文.docx

    iMAG8024U报警管理服务器产品使用手册v10-图文.docx

    imag-popupmenu.zip

    "imag-popupmenu.zip"这个压缩包显然包含了一个关于如何在Android应用中绘制多个PopupMenus的示例。下面我们将深入探讨PopupMenus的相关知识。 首先,PopupMenus通常用于在用户点击某个图标或按钮时显示一系列可选...

    iMag杂志制作大师 .exe

    制作大师是一款非常好用的软件,可以制作精美的相册,很不错的。

    IMAG_PSNR.rar_图像 psnr

    标题中的“IMAG_PSNR.rar”提示我们这是一个关于图像质量评估的压缩文件,而“图像 psnr”进一步说明了其内容与图像峰值信噪比(PSNR)有关。PSNR是衡量数字图像处理系统性能的重要指标,常用于评估图像压缩、图像...

    vmiso-VxWorks.rar_Vxworks iso_vmiso vxworks_vxworks_vxworks imag

    而"www.pudn.com.txt"可能是一个文本文件,通常用于提供下载链接来源的说明或者相关使用指南,用户可以参考这个文件获取更多关于如何使用这个VxWorks ISO的信息。 在实际应用中,通过VMware运行VxWorks ISO,开发者...

    matlab imag quality measurement

    This is an implementation of the algorithm for calculating the Structural SIMilarity (SSIM) index between two images

    yolov8系列--GUI for marking bounded boxes of objects in imag.zip

    在本压缩包“yolov8系列--GUI for marking bounded boxes of objects in imag.zip”中,包含的是一个用于图像目标检测的图形用户界面(GUI)工具。这个工具主要用于在图像上标注物体的边界框,是训练对象检测模型如...

    fastICA_imag.zip_fastica图像_图像分离_混合图像分离

    在"fastICA_imag.m"这个源码中,可能包含了上述步骤的实现,并可能提供了一些示例图像来进行演示。使用者可以通过调整参数和输入自己的混合图像,来体验和理解FastICA在图像分离中的实际效果。 总的来说,独立成分...

    imag:imag-基于文本的个人信息管理套件

    `imag` 提供了一个统一的框架,可以集成各种 PIM 功能,如日历、任务列表、笔记、联系人管理等,使用户能够在一个集中化的系统中管理他们的数字生活。 **贡献欢迎(contributions-welcome)** `imag` 项目欢迎社区...

    VB.code.programming.model.rotate.image.design.rar_The Image_imag

    在这个"VB.code.programming.model.rotate.image.design.rar_The Image_imag"项目中,我们主要关注的是如何使用VB API来实现图像的旋转功能。下面将详细解释这个知识点。 首先,要理解VB API的基本概念。API是一...

    VC_start_up_imag.rar_MFC 启动界面_Start Up

    然后在代码中使用`AfxLoadBitmap`或`LoadIcon`函数来加载这些资源。 5. **控制流程**:在主应用程序窗口的`OnInitInstance()`函数中,我们可以创建并显示启动界面对话框。当启动界面的工作完成后,例如加载完毕或者...

    imag:储存

    在IT行业中,"imag:储存"这一主题可能指的是与图像处理、存储以及管理相关的技术。在现代数字时代,图像数据的生成和分享日益频繁,高效、安全的图像存储方案成为了关键。下面我们将深入探讨这个话题。 一、图像...

    imag, 基于图像的个人信息管理套件.zip

    imag, 基于图像的个人信息管理套件 图像 imag-pim.orgimag 是一个命令行个人信息管理套件。 这个应用程序在早期开发中。 我们也有一些工作,但现在我们不考虑任何稳定或者有用的事情。 随便玩吧。 目标/什么是图像?...

Global site tag (gtag.js) - Google Analytics