CN107885570A - 复用视图组件的方法及装置 - Google Patents

复用视图组件的方法及装置 Download PDF

Info

Publication number
CN107885570A
CN107885570A CN201711136672.5A CN201711136672A CN107885570A CN 107885570 A CN107885570 A CN 107885570A CN 201711136672 A CN201711136672 A CN 201711136672A CN 107885570 A CN107885570 A CN 107885570A
Authority
CN
China
Prior art keywords
component
view component
recovery pond
view
views module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711136672.5A
Other languages
English (en)
Inventor
施龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koubei Shanghai Information Technology Co Ltd
Original Assignee
Koubei Shanghai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koubei Shanghai Information Technology Co Ltd filed Critical Koubei Shanghai Information Technology Co Ltd
Priority to CN201711136672.5A priority Critical patent/CN107885570A/zh
Publication of CN107885570A publication Critical patent/CN107885570A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种复用视图组件的方法,所述方法包括:当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的视图组件回收池中取出所需要的视图组件;根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;将所述赋值后的视图组件提供给所述待展示视图模块使用。采用上述方法,解决现有复用方案存在复用效率低下、性能较差的问题。

Description

复用视图组件的方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及一种复用视图组件的方法。本申请同时涉及一种复用视图组件的装置。
背景技术
在Android客户端中,经常存在一些长列表页面,当用户滑动列表的时候,屏幕可视区域显示的视图模块会发生变化。
现有技术下,通常采用ListView构件或RecyclerView构件进行页面上的视图模块的复用,其复用的粒度是视图模块。列表中的每个视图模块都各不一样,使用RecyclerView来搭建这种页面的时候,由于模块多样化,视图类型过多,无法使用之前废弃的视图模块,每次都需要重新inflate创建视图模块。
上述两种方案的复用原理都是建立在视图类型(viewtype)的基础上,在简单的页面下,视图类型较少,复用效率较高。而在页面复杂、视图类型很多的场景下,随着用户滚动列表,由于需要进入屏幕可视区域展示的视图模块与内存中已创建的其他视图模块的视图类型不同,就需要重新inflate(将android客户端里的布局xml找到,并解析和加载,最终转成布局view对象)布局和一系列的布局计算,需要占用一定的内存,造成页面整体性能偏低、复用效率低下,性能较差。
综上所述,现有技术下的复用方案存在复用效率低下、性能较差的问题。
发明内容
本申请提供一种复用视图组件的方法,以解决现有复用方案存在复用效率低下、性能较差的问题。
本申请提供一种复用视图组件的方法,所述方法包括:
当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;
将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;
当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的视图组件回收池中取出所需要的视图组件;
根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;
将所述赋值后的视图组件提供给所述待展示视图模块使用。
可选的,所述组件回收池的容量根据屏幕可视区域能够显示的视图组件的数量进行设置。
可选的,对不同类型视图组件设置相同的组件回收池的容量。
可选的,根据页面包含的不同类型视图组件的数量设置各类型组件回收池的容量。
可选的,所述将所述视图组件分别存储到对应类型的组件回收池中,包括:
判断视图组件对应类型的组件回收池中视图组件的数量是否大于或等于所述组件回收池的容量;若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,
当组件回收池中的视图组件被复用后,其组件回收池中视图组件的数量减一;
当视图组件存储到对应类型的组件回收池中后,其对应的组件回收池中视图组件的数量加一。
可选的,在将所述视图组件分别存储到对应类型的组件回收池中步骤之前,包括:
判断所述视图组件是否存在于其对应类型的组件回收池中,若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,所述视图组件类型包括文本视图组件类型和图像视图组件类型。
可选的,所述获取所述视图模块包含的视图组件,具体为:
通过监听onDetachFromWindow方法获取所述视图模块包含的视图组件。
本申请还提供一种复用视图组件的装置,所述装置包括:
组件获取单元,用于当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;
组件存储单元,用于将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;
组件取出单元,用于当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的组件回收池中取出所需要的视图组件;
参数赋值单元,用于根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;
组件提供单元,用于将所述赋值后的视图组件提供给所述待展示视图模块使用。
可选的,所述组件回收池的容量根据屏幕可视区域能够显示的视图组件的数量进行设置。
可选的,对不同类型视图组件设置相同的组件回收池的容量。
可选的,根据页面包含的不同类型视图组件的数量设置各类型组件回收池的容量。
可选的,所述组件存储单元,具体用于:
判断视图组件对应类型的组件回收池中视图组件的数量是否大于或等于所述组件回收池的容量;若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,当组件回收池中的视图组件被复用后,其组件回收池中视图组件的数量减一;
当视图组件存储到对应类型的组件回收池中后,其对应的组件回收池中视图组件的数量加一。
可选的,所述装置还包括:
组件判断单元,用于在组件存储单元工作之前,判断所述视图组件是否存在于其对应类型的组件回收池中,若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,所述视图组件类型包括文本视图组件类型和图像视图组件类型。
可选的,所述组件获取单元,具体用于:
通过监听onDetachFromWindow方法获取所述视图模块包含的视图组件。
与现有技术相比,本申请具有以下优点:
本申请提供一种复用视图组件的方法,所述方法包括:当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的组件回收池中取出所需要的视图组件;根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;将所述赋值后的视图组件提供给所述待展示视图模块使用。
本申请提供的复用视图组件的方法,将视图组件分别存储到对应类型的组件回收池中,其复用粒度为视图组件,由于组件回收池为整个页面所有业务模块所共用,在页面复杂、视图类型很多的场景下,依然可以通过公用的组件回收池中的视图组件,重新组装出一个新的视图模块,避免视图模块的重新创建或inflate将android客户端里的布局xml找到,并解析和加载,最终转成布局view对象操作,减少了内存的占用,提高视图组件的复用效率以及系统性能。
附图说明
图1是本申请第一实施例提供的一种复用视图组件的方法的流程图。
图2是本申请第一实施例提供的复用视图组件的示意图。
图3是本申请第二实施例的一种复用视图组件的装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
本申请第一实施例提供了一种复用视图组件的方法。请参考图1,其示出了根据本申请的实施例提供的一种复用视图组件的方法的流程图。图2示出了根据本申请第一实施例提供的复用视图组件的示意图。以下结合图1和图2进行详细说明。
步骤S101,当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件。
所述视图模块(view),指Android中的基础视图对象,用户设备屏幕上的一块区域。在Android客户端中,经常存在一些长列表页面,由于长列表页面不能同时显示在屏幕上,屏幕上只能显示长列表页面的部分视图模块,因此当用户滑动列表的时候,屏幕可视区域显示的视图模块会发生变化。如图2所示,每个虚线框里的模块为一个视图模块,由上到下依次为视图模块1至视图模块6。当前屏幕上显示的视图模块为视图模块2、视图模块3、视图模块4,视图模块5,当用户向上滑动屏幕时,视图模块1离开屏幕可视区域,视图模块6进入屏幕可视区域。
所述视图组件,指最小的视图组件(最小UI view),通常情况下一个视图模块由多个视图组件组成。例如,视图模块A由视图组件1、视图组件2、视图组件3、视图组件4组成。所述视图组件,主要包括文本视图组件(textview)类型和图形视图组件(imageview)类型的视图组件。其中,文本视图组件是用来显示字符串的组件,在手机上就是显示一块文本的区域;文本视图组件还包括一些子类,图像视图组件是用来显示图像的组件,在手机上就是显示一块图像的区域。文本视图组件、图像视图组件都包括很多子类,具有多种样式,例如,例如按钮视图组件(button)属于文本视图组件类型,是用来显示文本按钮的组件,在手机上就是显示一个文本按钮的区域;图像按钮视图组件(imagebutton)属于图像视图组件类型,是用来显示图像按钮的组件,在手机上就是显示一个图像按钮的区域。
当页面上的视图模块离开屏幕可视区域时,视图模块包含的视图组件成为废弃的视图组件,可以通过监听onDetachFromWindow方法获取视图模块包含的视图组件。onDetachFromWindow方法是android原生提供的事件监听回调,当一个视图组件处于一种废弃状态时候就会触发这个事件,可以获知这个视图组件处于可回收的状态,根据视图组件的类型,将视图组件放入对应的回收池中。
步骤S102,将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池。
所述视图组件类型,包括文本视图组件类型和图像视图组件类型,视图组件类型根据视图组件显示的内容类型进行划分,显示字符串的视图组件(textview)称作文本视图组件类型;显示图像的视图组件(imageview)称作图像视图组件类型。
所述视图组件回收池,指用于存放废弃的最小视图组件的存储单元,当页面上的视图模块离开屏幕可视区域时,视图模块包含的最小视图组件处于废弃状态。
所述组件回收池为根据视图组件类型设置的视图组件回收池,包括文本视图组件回收池和图像视图组件回收池。如图2中的textview回收池和imageview回收池。
所述组件回收池的容量可以根据屏幕可视区域能够显示的视图组件的数量进行设置。在具体实施时,设置各视图组件回收池的容量有多种方式,可以对对不同类型视图组件设置相同的组件回收池的容量,例如,可以根据屏幕可视区域能够显示的视图组件的数量设置文本视图组件回收池和图像视图组件回收池的容量均为15,即两个回收池最多可分别回收15个相应类型的视图组件;也可以根据页面包含的不同类型视图组件的数量灵活设置各类型组件回收池的容量。例如,如果页面包含的文本类型视图组件的数量多,则可加大文本视图组件回收池的容量,可以提高文本类型视图组件的复用率。例如可以将文本类型视图组件回收池的容量设为30,将图像类型视图组件回收池的容量设为15;如果页面包含的视频类型视图组件的数量多,则可加大视频视图组件回收池的容量,可以提高视频类型视图组件的复用率。
将所述视图组件分别存储到对应类型的组件回收池中,包括将文本视图组件放入文本视图组件回收池,将图像视图组件放入图像视图组件回收池。例如,如图2,当用户滑动屏幕时,假设离开屏幕可视区域的视图模块为视图模块1,视图模块1由textview1、textview2、textview3、textview4、textview5、imageview6、imageview7组成,则将textview1-textview5放入文本视图组件回收池,将imageview6、imageview7放入图像视图组件回收池。
由于组件回收池的容量是有限的,因此当某种类型的组件回收池的视图组件数量达到组件回收池的容量时,新的废弃的视图组件不能再存储至其对于类型的组件回收池中。优选方案中,在将某个视图组件存储到对应类型的组件回收池中之前,需要先判断视图组件对应类型的组件回收池中视图组件的数量是否大于或等于所述组件回收池的容量;若否,将所述视图组件存储到对应类型的组件回收池中。例如,如果文本视图组件回收池的容量设置为15,如果其视图组件的数量为13,则当产生新的废弃的文本视图组件后,可以将所述视图组件存储到文本组件回收池中;如果其视图组件的数量为15,则当产生新的废弃的文本视图组件后,不能再将所述视图组件存储到文本组件回收池中。
当组件回收池中增加废弃的视图组件或者组件回收池中已有的视图组件被复用后,组件回收池中视图组件的数量需要进行相应的增减。具体的:
当组件回收池中的视图组件被复用后,其组件回收池中视图组件的数量减一;
当视图组件存储到对应类型的组件回收池中后,其对应的组件回收池中视图组件的数量加一。
所述复用,指当待显示视图模块需要进入屏幕可视区域展示时,从相应的视图组件回收池中取出所需要的视图组件,并进行参数赋值后使用。复用实现了对废弃的视图组件的重新利用,不需要重新创建视图组件,减少了内存的消耗。本实施例中,复用的粒度是最小视图组件,由于组件回收池为整个页面所有业务模块所共用,在页面复杂、视图类型很多的场景下,依然可以通过公用的组件回收池中的视图组件,重新组装出一个待显示视图模块;而现有的使用RecyclerView来搭建这种页面的技术,由于其复用的粒度是视图模块,在模块多样化,视图类型过多时,很多视图模块无法使用之前废弃的视图模块,需要重新创建或inflate将android客户端里的布局xml找到,并解析和加载,最终转成布局view对象操作;可见,本申请的方法与现有技术相比减少了内存的占用,提高了视图组件复用率。
例如,如果文本视图组件回收池的容量设置为15,如果其视图组件的数量为15,则当产生新的废弃的文本视图组件后,不能再将所述视图组件存储到文本组件回收池中,当文本视图组件回收池中的某个视图组件被复用后,文本视图组件回收池的容量设置为14,又可以存储新的废弃的文本视图组件。
在将所述视图组件分别存储到对应类型的组件回收池中步骤之前,可以先判断所述视图组件是否存在于其对应类型的组件回收池中,若否,将所述视图组件存储到对应类型的组件回收池中。例如,如果图像视图组件A已经存在于图像视图组件回收池中,则不需要再次将所述视图组件存储到图像视图组件回收池中,如果图像视图组件A不存在于图像视图组件回收池中,则将视图组件A存储到图像视图组件回收池中。
通过本步骤实现了将废弃的视图组件分别存储到对应类型的视图组件回收池中,为进入屏幕可视区域展示的待显示视图模块使用这些废弃的视图组件提供了前提条件。
步骤S103,当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的视图组件回收池中取出所需要的视图组件。
所述待显示视图模块,指在用户滑动屏幕时需要进入屏幕可视区域展示的视图模块。例如,图2中的视图模块6。
所述需要的视图组件,指组成待显示视图模块的最小视图组件。例如,假设待展示视图模块为图2中的视图模块6,由textview1、textview2、textview3、imageview4、imageview5组成,则上述视图组件为待展示视图模块所需要的视图组件。
所述根据所述待显示视图模块需要的视图组件的类型,从相应的组件回收池中取出所需要的视图组件,可以先判断所述待显示视图模块需要的视图组件的类型,再从相应的视图组件回收池中取出所需要的视图组件,例如,待展示视图模块所需要的视图组件为textview1、textview2、textview3、imageview4、imageview5,textview1、textview2、textview3为文本视图组件类型,则从文本视图组件回收池中取出textview1、textview2、textview3;imageview4、imageview5为图像视图组件类型,则从图像视图组件回收池中取出imageview4、imageview5。
需要说明的是,所述待显示视图模块需要的视图组件不一定都存在于视图组件回收池中,当某个视图组件存在于视图组件回收池时,可以直接从视图组件回收池取出,当某个视图组件不存在于视图组件回收池时,需要重新创建,在重新创建时需要占用内存。例如,如果待展示视图模块(图2的视图模块6)由视图组件textview1、textview2、textview3、imageview4、imageview5组成,如果文本视图组件回收池中只存储了文本视图组件textview1、textview2,图像视图组件回收池中只存储了imageview5,则需要重新创建textview3和imageview4。
步骤S104,根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值。
由于从视图组件回收池取出的视图组件需要提供给所述待展示视图模块使用,因此需要对其属性进行赋值,使之满足所述待展示视图模块的需求。通常,每个视图组件包含多个属性,例如textview组件,包括:android:text、android:textColor、android:height等属性,如果待展示视图模块的需要显示一个textview组件,则需要对android:text、android:textColor、android:height等属性进行赋值。
步骤S105,将所述赋值后的视图组件提供给所述待展示视图模块使用。
在将所述赋值后的视图组件提供给所述待展示视图模块赋值后,如果待展示视图模块所需的全部的视图组件全部存在于组件回收池中,待展示视图模块将赋值后的视图组件结合在一起显示到屏幕可视区域;如果待展示视图模块所需的全部的视图组件部分存在于组件回收池中,则将所述赋值后的视图组件与待展示视图模块所需的重新创建的视图组件结合在一起,显示到屏幕可视区域。
下面举例说明上述两种情况:
第一种情况:待展示视图模块所需的全部的视图组件全部存在于组件回收池中。例如,如果图2中的待展示视图模块6由视图组件textview1、textview2、textview3、imageview4、imageview5组成,如果视图组件回收池中包含了上述5个视图组件,则将赋值后的5个视图组件组成待展示视图模块显示到屏幕可视区域。
另一种情况是:待展示视图模块所需的视图组件部分存在于组件回收池中。例如,如果图2中的待展示视图模块6由视图组件textview1、textview2、textview3、imageview4、imageview5组成,如果文本视图组件回收池中只存储了文本视图组件textview1、textview2,图像视图组件回收池中只存储了imageview5,则将赋值后的视图组件textview1、textview2imageview5与重新创建的textview3和imageview4结合在一起组成待展示视图模块显示到屏幕可视区域。
至此,对本实施例提供的复用视图组件的方法的实施方式进行了详细说明。本申请通过将最小视图组件作为组件复用的粒度提供待展示视图模块使用,与以前的采用ListView构件或RecyclerView构件进行页面上的视图模块的复用方式相比,由于组件回收池为整个页面所有业务模块所共用,在页面复杂、视图类型很多的场景下,依然可以通过公用的组件回收池中的视图组件,重新组装出一个新的视图模块,避免视图模块的重新创建或inflate操作,减少了内存的占用,实现了提高复用效率以及性能。
与上述提供的一种复用视图组件的方法相对应的,本申请实施例还提供了一种复用视图组件的装置。由于所述装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述复用视图组件的装置实施例如下:
请参考图3,其示出了根据本申请的第二实施例提供的复用视图组件的装置的示意图。
所述装置包括:组件获取单元301,组件存储单元302,组件取出单元303,参数赋值单元304,组件提供单元305。
组件获取单元301,用于当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;
组件存储单元302,用于将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;
组件取出单元303,用于当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的组件回收池中取出所需要的视图组件;
参数赋值单元304,用于根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;
组件提供单元305,用于将所述赋值后的视图组件提供给所述待展示视图模块使用。
可选的,所述组件回收池的容量根据屏幕可视区域能够显示的视图组件的数量进行设置。
可选的,对不同类型视图组件设置相同的组件回收池的容量。
可选的,根据页面包含的不同类型视图组件的数量设置各类型组件回收池的容量。
可选的,所述组件存储单元,具体用于:
判断视图组件对应类型的组件回收池中视图组件的数量是否大于或等于所述组件回收池的容量;若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,当组件回收池中的视图组件被复用后,其组件回收池中视图组件的数量减一;
当视图组件存储到对应类型的组件回收池中后,其对应的组件回收池中视图组件的数量加一。
可选的,所述装置还包括:
组件判断单元,用于在组件存储单元工作之前,判断所述视图组件是否存在于其对应类型的组件回收池中,若否,将所述视图组件存储到对应类型的组件回收池中。
可选的,所述视图组件类型包括文本视图组件类型和图像视图组件类型。
可选的,所述组件获取单元,具体用于:
通过监听onDetachFromWindow方法获取所述视图模块包含的视图组件。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (10)

1.一种复用视图组件的方法,其特征在于,包括:
当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;
将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;
当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的视图组件回收池中取出所需要的视图组件;
根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;
将所述赋值后的视图组件提供给所述待展示视图模块使用。
2.根据权利要求1所述的复用视图组件的方法,其特征在于,包括:
所述组件回收池的容量根据屏幕可视区域能够显示的视图组件的数量进行设置。
3.根据权利要求2所述的复用视图组件的方法,其特征在于,包括:
对不同类型视图组件设置相同的组件回收池的容量。
4.根据权利要求2所述的复用视图组件的方法,其特征在于,包括:
根据页面包含的不同类型视图组件的数量设置各类型组件回收池的容量。
5.根据权利要求1-4任一项所述的复用视图组件的方法,其特征在于,所述将所述视图组件分别存储到对应类型的组件回收池中,包括:
判断视图组件对应类型的组件回收池中视图组件的数量是否大于或等于所述组件回收池的容量;若否,将所述视图组件存储到对应类型的组件回收池中。
6.根据权利要求1所述的复用视图组件的方法,其特征在于,包括:
当组件回收池中的视图组件被复用后,其组件回收池中视图组件的数量减一;
当视图组件存储到对应类型的组件回收池中后,其对应的组件回收池中视图组件的数量加一。
7.根据权利要求1所述的复用视图组件的方法,其特征在于,在将所述视图组件分别存储到对应类型的组件回收池中步骤之前,包括:
判断所述视图组件是否存在于其对应类型的组件回收池中,若否,将所述视图组件存储到对应类型的组件回收池中。
8.根据权利要求1所述的复用视图组件的方法,其特征在于,所述视图组件类型包括文本视图组件类型和图像视图组件类型。
9.根据权利要求1所述的复用视图组件的方法,其特征在于,所述获取所述视图模块包含的视图组件,具体为:
通过监听onDetachFromWindow方法获取所述视图模块包含的视图组件。
10.一种复用视图组件的装置,其特征在于,包括:
组件获取单元,用于当页面上的视图模块离开屏幕可视区域时,获取所述视图模块包含的视图组件;
组件存储单元,用于将所述视图组件分别存储到对应类型的组件回收池中;所述组件回收池为根据视图组件类型设置的视图组件回收池;
组件取出单元,用于当待显示视图模块需要进入屏幕可视区域展示时,根据所述待显示视图模块需要的视图组件的类型,从相应的组件回收池中取出所需要的视图组件;
参数赋值单元,用于根据所述待展示视图模块中的需求,对所述取出的视图组件的属性进行赋值;
组件提供单元,用于将所述赋值后的视图组件提供给所述待展示视图模块使用。
CN201711136672.5A 2017-11-16 2017-11-16 复用视图组件的方法及装置 Pending CN107885570A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711136672.5A CN107885570A (zh) 2017-11-16 2017-11-16 复用视图组件的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711136672.5A CN107885570A (zh) 2017-11-16 2017-11-16 复用视图组件的方法及装置

Publications (1)

Publication Number Publication Date
CN107885570A true CN107885570A (zh) 2018-04-06

Family

ID=61776996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711136672.5A Pending CN107885570A (zh) 2017-11-16 2017-11-16 复用视图组件的方法及装置

Country Status (1)

Country Link
CN (1) CN107885570A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958831A (zh) * 2018-06-12 2018-12-07 北京奇艺世纪科技有限公司 一种ViewGroup动态布局方法、装置及电子设备
CN112527422A (zh) * 2019-09-17 2021-03-19 腾讯科技(深圳)有限公司 视图更新方法、装置、设备及存储介质
CN112948728A (zh) * 2019-11-26 2021-06-11 北京沃东天骏信息技术有限公司 一种浏览图片的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821714A (zh) * 2007-08-27 2010-09-01 奥多比公司 复用运行应用中的组件
CN105912325A (zh) * 2016-04-05 2016-08-31 华自科技股份有限公司 基于组态软件的图元组件的复用方法、系统和组态软件
CN107315580A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821714A (zh) * 2007-08-27 2010-09-01 奥多比公司 复用运行应用中的组件
CN105912325A (zh) * 2016-04-05 2016-08-31 华自科技股份有限公司 基于组态软件的图元组件的复用方法、系统和组态软件
CN107315580A (zh) * 2017-04-17 2017-11-03 阿里巴巴集团控股有限公司 用户界面的组件处理方法、装置及设备、可读介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958831A (zh) * 2018-06-12 2018-12-07 北京奇艺世纪科技有限公司 一种ViewGroup动态布局方法、装置及电子设备
CN112527422A (zh) * 2019-09-17 2021-03-19 腾讯科技(深圳)有限公司 视图更新方法、装置、设备及存储介质
CN112527422B (zh) * 2019-09-17 2024-03-22 腾讯科技(深圳)有限公司 视图更新方法、装置、设备及存储介质
CN112948728A (zh) * 2019-11-26 2021-06-11 北京沃东天骏信息技术有限公司 一种浏览图片的方法和装置

Similar Documents

Publication Publication Date Title
CN107885570A (zh) 复用视图组件的方法及装置
CN110007999A (zh) 页面布局方法、装置及计算机可读存储介质
CN109089070A (zh) 一种视讯会议终端的布局切换方法及系统
CN104363508A (zh) 一种防止视频回退的图像拼接方法及装置
CN104469465A (zh) 基于安卓系统的智能电视悬浮主场景交互方法
CN106294299A (zh) 一种报表生成方法及装置
CN104361556A (zh) 一种图像合成方法和图像芯片以及图像设备
CN105741819B (zh) 一种图层处理方法及装置
CN106204715A (zh) 基于线上3d家装平台的居家换色展示和渲染的方法及系统
CN104408077A (zh) 图片的展现方法、展现系统和终端
CN107168715A (zh) 一种智能终端菜单主题gui引擎实现方法
CN111027299A (zh) 一种表单生成方法和系统
CN101849363B (zh) 搜索媒体数据的设备和方法
CN110489614A (zh) 一种app推荐方法、装置及设备
CN102298498A (zh) 软键盘字符输入处理方法及装置
CN102682463B (zh) 基于Web Pseudo-3D的大规模数据可视化处理方法
CN104837005B (zh) 一种2d视频与3d视频转换播放的方法及其装置
CN111651148A (zh) 一种Stream SQL的动态生成方法及系统
WO2023155627A1 (zh) 一种电子标牌显示的方法及电子设备
CN111562869A (zh) 截图方法及装置、存储介质、电子装置
CN105721922A (zh) 一种基于五宫格的智能电视ui设计方法
CN105335159A (zh) 一种anychart图表展示方法
CN102083045A (zh) 一种业务计费处理方法和装置
CN105446763A (zh) 一种图片加载与显示的方法及系统
CN101567943A (zh) 一种数据管理和呼叫管理相分离的彩铃系统及其实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180406