视图组件的预创建方法、装置、设备及计算机可读介质制造方法及图纸

技术编号:25345668 阅读:19 留言:0更新日期:2020-08-21 17:04
本公开实施例提供了一种视图组件的预创建方法、装置、电子设备及计算机可读介质,该方法包括:对各视图组件的创建进行检测,确定各视图组件的创建的次数;当各视图组件的创建的次数大于预设第一阈值,将各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;将第二热点视图组件名单上的至少一个视图组件进行预创建。该方法不需要用户控制视图组件的预创建时机和视图组件的预创建名单,仅通过实时对各视图组件的创建进行检测,将得到的各视图组件的创建的次数与预设第一阈值进行比较,就可以得到第二热点视图组件名单,即视图组件的预创建名单,提升了视图组件的预创建的效率。

【技术实现步骤摘要】
视图组件的预创建方法、装置、设备及计算机可读介质
本公开涉及计算机
,具体而言,本公开涉及一种视图组件的预创建方法、装置、电子设备及计算机可读介质。
技术介绍
现有技术中性能优化是提高安卓系统的应用程序AndroidApp使用体验非常重要的一个方向,启动时长和页面流畅性都是性能优化重点关注的指标,其中,视图组件的创建viewinflate导致的耗时是影响相关性能指标的重要因素;所以许多公司在应用程序App开发中都会采取一定的手段来减少viewinflate的耗时。传统优化方案中,大多采用异步创建inflate的方式,来预创建所需要的视图组件view,传统方案中预创建的view需要用户控制view的预创建时机和view的预创建名单,例如用户是研发人员,但是研发人员控制view的预创建时机和view的预创建名单的实际操作非常复杂,而且view的预创建时机不好控制,每一个预创建请求都需要研发提交,从而导致view的预创建的效率低。
技术实现思路
提供该
技术实现思路
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该
技术实现思路
部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开针对现有的方式的缺点,提出一种视图组件的预创建方法、装置、电子设备及计算机可读介质,用以解决如何提升视图组件的预创建的效率问题。第一方面,本公开提供了一种视图组件的预创建方法,包括:对各视图组件的创建进行检测,确定各视图组件的创建的次数;当各视图组件的创建的次数大于预设第一阈值,将各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;将第二热点视图组件名单上的至少一个视图组件进行预创建。第二方面,本公开提供了一种视图组件的预创建装置,包括:第一处理模块,用于对各视图组件的创建进行检测,确定各视图组件的创建的次数;第二处理模块,用于当各视图组件的创建的次数大于预设第一阈值,将各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;第三处理模块,用于将第二热点视图组件名单上的至少一个视图组件进行预创建。第三方面,本公开提供了一种电子设备,包括:处理器、存储器和总线;总线,用于连接处理器和存储器;存储器,用于存储操作指令;处理器,用于通过调用操作指令,执行本公开第一方面的视图组件的预创建方法。第四方面,本公开提供了一种计算机可读介质,存储有计算机程序,计算机程序被用于执行本公开第一方面的视图组件的预创建方法。本公开实施例提供的技术方案,至少具有如下有益效果:对各视图组件的创建进行检测,确定各视图组件的创建的次数;当各视图组件的创建的次数大于预设第一阈值,将各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;将第二热点视图组件名单上的至少一个视图组件进行预创建。如此,不需要用户控制视图组件的预创建时机和视图组件的预创建名单,仅通过实时对各视图组件的创建进行检测,将得到的各视图组件的创建的次数与预设第一阈值进行比较,就可以得到第二热点视图组件名单,即视图组件的预创建名单,提升了视图组件的预创建的效率。本公开附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本公开的实践了解到。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍。图1为本公开实施例提供的一种视图组件的预创建方法的流程示意图;图2为本公开实施例提供的另一种视图组件的预创建方法的流程示意图;图3为本公开实施例提供的一种视图组件的预创建装置的结构示意图;图4为本公开实施例提供的一种电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对装置、模块或单元进行区分,并非用于限定这些装置、模块或单元一定为不同的装置、模块或单元,也并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。本公开实施例中提供了一种视图组件的预创建方法,该方法的流程示意图如图1所示,该方法包括:S101,对各视图组件的创建进行检测,确定各视图组件的创建的次数。本公开实施例中,对各视图组件的创建进行检测,确定各视图组件的创建的次数,包括:对与各视图组件的创建相关的字节码进行检测,确定与各视图组件对应的上下文信息;根据与各视图组件对应的上下文信息,确定各视图组件的创建的次数。本公开实施例中,对与各视图组件的创建相关的字节码进行检测,确定与各视图组件对应的上下文信息,包括:读取与各视图组件的创建相关的字节码,并根据字节码检测与各视图组件的创建相关的签名;当检测到签名,通过预设的参数申请指令获得与参数申请指令对应的参数;根据参数,确定与各视图组件对应的上下文信息。本公开实施例中,通过自研字节码工具,检测视图组件的创建viewinflate相关的字节码,检测到viewinflate的调用添加回调,运行时通过编译过程插入的回调进行创建inflate检测。本公开实施例中,检测viewinflate相关的字节码,检测到viewinflate的调用添加回调,包括:通过ASM工具读取字节码,检测viewinflate的签名;检测到viewinflate的签名,通过参数申请指令获得本文档来自技高网...

【技术保护点】
1.一种视图组件的预创建方法,其特征在于,包括:/n对各视图组件的创建进行检测,确定所述各视图组件的创建的次数;/n当所述各视图组件的创建的次数大于预设第一阈值,将所述各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;/n将所述第二热点视图组件名单上的至少一个视图组件进行预创建。/n

【技术特征摘要】
1.一种视图组件的预创建方法,其特征在于,包括:
对各视图组件的创建进行检测,确定所述各视图组件的创建的次数;
当所述各视图组件的创建的次数大于预设第一阈值,将所述各视图组件加入到第一热点视图组件名单,得到第二热点视图组件名单;
将所述第二热点视图组件名单上的至少一个视图组件进行预创建。


2.根据权利要求1所述的方法,其特征在于,所述对各视图组件的创建进行检测,确定所述各视图组件的创建的次数,包括:
对与各视图组件的创建相关的字节码进行检测,确定与所述各视图组件对应的上下文信息;
根据所述与所述各视图组件对应的上下文信息,确定所述各视图组件的创建的次数;
所述将所述各视图组件加入到第一热点视图组件名单,包括:
将所述各视图组件和与所述各视图组件对应的上下文信息加入到第一热点视图组件名单。


3.根据权利要求2所述的方法,其特征在于,所述对与各视图组件的创建相关的字节码进行检测,确定与所述各视图组件对应的上下文信息,包括:
读取与各视图组件的创建相关的字节码,并根据所述字节码检测与各视图组件的创建相关的签名;
当检测到所述签名,通过预设的参数申请指令获得与所述参数申请指令对应的参数;
根据所述参数,确定与所述各视图组件对应的上下文信息。


4.根据权利要求1所述的方法,其特征在于,所述得到第二热点视图组件名单,包括:
对加入视图组件的第一热点视图组件名单进行更新,得到第二热点视图组件名单。


5.根据权利要求4所述的方法,其特征在于,所述对加入视图组件的第一热点视图组...

【专利技术属性】
技术研发人员:张韩
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1