掌桥专利:专业的专利平台
掌桥专利
首页

大图加载问题检测方法、装置、设备及计算机介质

文献发布时间:2024-04-18 19:58:26


大图加载问题检测方法、装置、设备及计算机介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种大图加载问题检测方法、装置、设备及计算机可读介质。

背景技术

本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就被认为是现有技术。

在软件开发的过程中,加载图片是一种常规的操作,同时也是一种“成本”较高的行为,因为加载一张图片需要先后历经网络请求、VO读写、内存占用等多个过程。目前的主流方式是通过Coil、Glide等开源库来加载图片,完全无需关心其加载过程,但是,经过研究发现,其存在以下问题:加载的图片属于大图,这样加载展示所需的图片会造成不必要的性能浪费,同时也可能会引发OOM(Out Of Memory,内存耗尽),因此,在对应用程序进行性能优化时,减少大图的加载是一个比较重要的优化方向,但是通常情况下,都是通过人工进行代码审核以检查当前代码中的图片加载问题,这种方式存在如下问题:

1.虽然能检查出来程序在初始化过程中产生的大图加载问题,但是很难检测出程序在运行过程中,通过网络或者用户上传等引发的大图加载问题。

2.需要修改程序源代码才能检查程序中大图加载的问题。

鉴于上述问题,需要提供一种更加高效、全面的大图加载检测方法。

发明内容

本申请的多个方面提供一种大图加载问题检测方法、装置、设备及计算机可读存储介质,用以更加高效、全面的对应用程序的大图加载问题进行检测。

本申请的一方面,提供一种大图加载问题检测方法,其中,所述方法包括:

运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中;

读取所述目标应用程序的运行日志;

根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题。

本申请的另一方面,提供一种大图加载问题检测装置,其中,所述装置包括:

目标应用程序运行模块,用于运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中;

运行日志读取模块,用于读取所述目标应用程序的运行日志;

大图加载问题判断模块,用于根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题。

本申请的另一方面,提供一种电子设备,所述电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的大图加载问题检测方法。

本申请的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如上所述的大图加载问题检测方法。

本申请实施例提供的方案中,通过运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中,读取所述目标应用程序的运行日志,根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题,从而能够通过字节码插桩的方式向应用程序中插入大图加载问题检测代码,无需修改源代码即可实现对大图加载问题的检测,而且由于大图加载问题检测代码是植入目标应用程序的,因此,可以在目标应用程序的整个运行过程中实现对大图加载问题的实时监测,并通过将检测到的大图加载信息写入运行日志中,后续只需要读取运行日志即可判断目标应用程序是否存在大图加载问题,并且能够根据运行日志中记录的大图加载信息有针对性的对应用程序进行优化,相较于现有方式,能够更加高效、全面的对应用程序的大图加载问题进行检测。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本申请一实施例提供的大图加载问题检测方法的流程示意图;

图2为本申请另一实施例提供的大图加载问题检测方法的流程示意图;

图3为本申请一实施例提供的大图加载问题检测装置的结构示意图;

图4为适用于实现本申请实施例中的方案的一种电子设备的结构示意图;

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本申请实施例提供了一种大图加载问题检测方法、装置、设备及计算机可读存储介质,用以更加高效、全面的对应用程序的大图加载问题进行检测,通过运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中,读取所述目标应用程序的运行日志,根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题,从而能够通过字节码插桩的方式向应用程序中插入大图加载问题检测代码,无需修改源代码即可实现对大图加载问题的检测,而且由于大图加载问题检测代码是植入目标应用程序的,因此,可以在目标应用程序的整个运行过程中实现对大图加载问题的实时监测,并通过将检测到的大图加载信息写入运行日志中,后续只需要读取运行日志即可判断目标应用程序是否存在大图加载问题,并且能够根据运行日志中记录的大图加载信息有针对性的对应用程序进行优化,相较于现有方式,能够更加高效、全面的对应用程序的大图加载问题进行检测。

在实际场景中,该方法的执行主体可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。

图1示出了本申请实施例提供的一种大图加载问题检测方法的处理流程,所述方法至少包括以下的处理步骤:

步骤S101,运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中。

步骤S102,读取所述目标应用程序的运行日志。

步骤S103,根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题。

本申请实施例提供的上述大图加载问题检测方法,通过运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中,读取所述目标应用程序的运行日志,根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题,从而能够通过字节码插桩的方式向应用程序中插入大图加载问题检测代码,无需修改源代码即可实现对大图加载问题的检测,而且由于大图加载问题检测代码是植入目标应用程序的,因此,可以在目标应用程序的整个运行过程中实现对大图加载问题的实时监测,并通过将检测到的大图加载信息写入运行日志中,后续只需要读取运行日志即可判断目标应用程序是否存在大图加载问题,并且能够根据运行日志中记录的大图加载信息有针对性的对应用程序进行优化,相较于现有方式,能够更加高效、全面的对应用程序的大图加载问题进行检测。

在一些变更实施方式中,在所述运行目标应用程序之前,还包括:

获取原应用程序的源代码;

采用编译打包工具在所述源代码中通过字节码插桩的方式插入大图加载问题检测代码,并在字节码插桩完成后生成应用程序安装包;

通过安装所述应用程序安装包部署目标应用程序。

通过本实施方式,可以利用编译打包工具实现字节码插桩工作,从而在源代码中插入大图加载问题检测代码,并通过安装应用程序安装包部署目标应用程序,以实现目标应用程序在运行后自动检测大图加载问题的目的。

在上述实施方式的基础上,在一些变更实施方式中,所述采用编译打包工具在所述源代码中通过字节码插桩的方式插入大图加载问题检测代码,包括:

提取所述源代码中的class文件;

采用编译打包工具将所述class文件转换为字节码文件,并在所述字节码文件中通过字节码插桩插入大图加载问题检测代码。

通过本实施方式,可以以源代码中的class文件为媒介插入大图加载问题检测代码,具有简单易行、不易引入代码错误的优点。

在上述实施方式的基础上,在一些变更实施方式中,所述采用编译打包工具将所述class文件转换为字节码文件,并在所述字节码文件中通过字节码插桩插入大图加载问题检测代码,包括:

调用编译打包工具根据大图加载问题检测代码生成用于字节码插桩的大图加载问题检测文件;

调用所述编译打包工具将所述class文件转换为字节码文件进行编译,并在编译过程中将所述大图加载问题检测文件通过字节码插桩的方式插入所述字节码文件。

其中,上述编译打包工具是指能够将应用程序源代码转换为字节码进行编译后再打包成应用程序安装包的编译工具,其能够在字节码编译阶段执行字节码插桩、字节码替换等操作,在本申请实施例中,可以利用编译打包工具将大图加载问题检测代码植入目标应用程序中,上述编译打包工具可以包括但不限于Gradle、Maven、ASM等编译打包工具,本申请实施例不做限定,其均可以应用于本申请技术方案以实现本申请的目的。

在具体实施时,上述编译打包工具均提供有API(Application ProgrammingInterface,应用程序编程接口),通过其提供的API可以控制编译的每一步操作,例如,在Android应用程序打包成dex文件之前的编译过程中操作.class文件,通过遍历所有.class文件的所有方法,把输入的.class文件转变成目标字节码文件,然后进行修改,再对源文件进行替换,即可以达到插入代码的目的。

通过本实施方式,利用现有技术提供的编译打包工具可以高效、安全的实现字节码插桩的目的,从而快速、安全地将大图加载问题检测代码插入目标应用程序的源代码。

在一些变更实施方式中,所述运行目标应用程序,包括:

在运行所述目标应用程序的主程序的同时,通过执行所述目标应用程序中的大图加载问题检测代码进行大图加载问题检测。

其中,上述大图加载问题检测代码可以在主程序的运行过程中一直执行,以实现对大图加载问题的实时监测,从而在目标应用程序的整个运行过程中实现对大图加载问题的实时监测。

在上述实施方式的基础上,在一些变更实施方式中,所述通过执行所述目标应用程序中的大图加载问题检测代码进行大图加载问题检测,包括:

通过执行所述目标应用程序中的大图加载问题检测代码,判断所述目标应用程序是否调用图片加载方法;

若是调用图片加载方法,则获取所述图片加载方法所加载的图片的图片加载信息;

根据所述图片加载信息是否符合预设大图加载条件,判断所述图片是否为大图;

若是大图,则将所述图片加载信息作为大图加载信息写入运行日志中。

通过本实施方式,给出了根据大图加载问题检测代码进行大图加载问题检测的具体逻辑,能够快速、准确地在程序的运行过程中对大图加载问题进行实时的检测。

在上述实施方式的基础上,在一些变更实施方式中,所述根据所述图片加载信息是否符合预设大图加载条件,判断所述图片是否为大图,包括以下至少一项:

若所述图片的大小大于预设图片大小阈值,则判断所述图片为大图;

若所述图片的像素大小大于预设像素阈值,则判断所述图片为大图;

若所述图片的加载时长大于预设加载时长阈值,则判断所述图片为大图。

通过本实施方式,给出了预设大图加载条件的多个示例,能够较为全面、准确地判断图片是否大图,进而准确地判断是否存在大图加载问题。需要说明的是,其中的图片大小阈值、像素阈值、加载时长阈值等可以根据实际需求灵活设置,本申请实施例不做限定,且以上大图加载条件仅为示例性说明,本领域技术人员可以在以上示例基础上灵活变更实施以实现本申请实施例的目的,其也均应在本申请的保护范围之内。

为了便于理解,结合一个具体的示例对本申请上述大图加载问题检测方法进一步进行说明。

在一个具体示例中,采用本申请实施例提供的上述大图加载问题检测方法实现对应用程序的大图加载问题进行检测的目的,通过在已经编译好的程序二进制class文件中,通过字节码插桩的方式,在class文件中查找到图片加载的imageload、imageview方法,并对该方法插入记录图片大小、图片加载时间等代码逻辑,从而实现在不修改代码源码的情况下实现对程序中可能存在的大图加载问题检测。

具体的,请参考图2,其示出了本申请另一实施例提供的大图加载问题检测方法的流程示意图,该方法可以包括以下步骤:

1、从项目源码管理仓库例如Gitlab中通过git clone命令获取项目源代码即原应用程序的源代码。

2.在项目中添加用来对原应用程序中的class文件基于字节码插桩进行修改的bigimagecheck类文件即大图加载问题检测文件,该类文件基于编译打包工具提供的Transform API实现。

3.在该大图加载问题检测文件中编写大图加载问题检测逻辑,判断当前被插桩的程序class文件中是否存在调用了图片加载方法,例如imageload方法、或者androidwidget imageView方法,如果存在,获取该方法要处理的图片相关信息即图片加载信息,例如图片的大小、图片的加载时间等。如果是通过imageview打开图片的,图片的大小不超过1MB,图片的像素大小不超过200pd,图片加载时间不超过2s,则说明该图片不是大图,当超过设定值时,则判断该图片为大图,需要进行相应的优化,同时记录图片的URL路径、图片的名称、图片的大小、加载时间、图片的像素大小、以及该方法所在的类名称、路径等图片加载信息作为大图加载信息并写入运行日志中,方便后续进行优化。

4.利用编译打包工具将写的上述bigimagecheck类文件通过命令buildscript:{repositories{maven{url=(bigimagecheck"文件路径")}引入到编译打包过程中。

5.原应用程序的源代码在通过编译打包工具编译成字节码文件后,会执行Transform动作(通过Transform接口调用实现),原应用对程序已经编译完成的字节码文件根据bigimagecheck代码编写逻辑进行字节码插装。

6.对应用程序的所有class文件进行字节码插桩完成后再打包成可以独立安装运行的应用程序安装包例如Apk安装包。

7.安装应用程序安装包以部署目标应用程序,运行目标应用程序,如果出现大图加载的情况时,会在程序的运行日志文件中找到相关的记录即大图加载信息(例如图片的URL路径、图片的名称、图片的大小、加载时间、图片的像素大小、以及该方法所在的类名称、路径等信息)。

8.通过运行日志是否包含大图加载信息即可判断目标应用程序在运行过程出现的大图加载问题,可以据此修改相关代码或者业务逻辑,提升程序性能。

通过上述具体实施例,还可以获得以下有益效果:

1.在不修改程序源码的情况下,实现对程序中可能存在的大图加载问题进行监控检查的目的。

2.能够在程序运行阶段,对程序中可能存在的大图加载性能问题进行监控检查。

基于同一发明构思,本申请实施例中还提供了一种大图加载问题检测装置,该装置对应的方法可以是前述实施例中的大图加载问题检测方法,并且其解决问题的原理与该方法相似。本申请实施例提供的大图加载问题检测装置可以实施上述大图加载问题检测方法,该大图加载问题检测装置可以通过软件、硬件或软硬结合的方式来实现。例如,该大图加载问题检测装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。请参考图3,该大图加载问题检测装置可以包括:

目标应用程序运行模块101,用于运行目标应用程序,所述目标应用程序是在原应用程序的源代码中通过字节码插桩的方式插入大图加载问题检测代码后生成的,所述大图加载问题检测代码用于在所述目标应用程序的运行过程中检测大图加载问题,并将检测到的大图加载信息写入运行日志中;

运行日志读取模块102,用于读取所述目标应用程序的运行日志;

大图加载问题判断模块103,用于根据所述运行日志中是否存在大图加载信息,判断所述目标应用程序是否存在大图加载问题。

在一些变更实施方式中,所述装置,还包括:

源代码获取模块,用于获取原应用程序的源代码;

字节码插桩模块,用于采用编译打包工具在所述源代码中通过字节码插桩的方式插入大图加载问题检测代码,并在字节码插桩完成后生成应用程序安装包;

程序部署模块,用于通过安装所述应用程序安装包部署目标应用程序。

在一些变更实施方式中,所述字节码插桩模块,包括:

class文件提取单元,用于提取所述源代码中的class文件;

字节码插桩单元,用于采用编译打包工具将所述class文件转换为字节码文件,并在所述字节码文件中通过字节码插桩插入大图加载问题检测代码。

在一些变更实施方式中,所述字节码插桩单元,包括:

检测文件生成子单元,用于调用编译打包工具根据大图加载问题检测代码生成用于字节码插桩的大图加载问题检测文件;

字节码插桩子单元,用于调用所述编译打包工具将所述class文件转换为字节码文件进行编译,并在编译过程中将所述大图加载问题检测文件通过字节码插桩的方式插入所述字节码文件。

在一些变更实施方式中,所述目标应用程序运行模块101,包括:

大图检测单元,用于在运行所述目标应用程序的主程序的同时,通过执行所述目标应用程序中的大图加载问题检测代码进行大图加载问题检测。

在一些变更实施方式中,所述大图检测单元,包括:

图片加载判断子单元,用于通过执行所述目标应用程序中的大图加载问题检测代码,判断所述目标应用程序是否调用图片加载方法;

图片加载信息获取子单元,用于若是调用图片加载方法,则获取所述图片加载方法所加载的图片的图片加载信息;

大图判断子单元,用于根据所述图片加载信息是否符合预设大图加载条件,判断所述图片是否为大图;

图片加载信息记录子单元,用于若是大图,则将所述图片加载信息作为大图加载信息写入运行日志中。

在一些变更实施方式中,所述大图判断子单元,包括以下至少一项:

图片大小判断子单元,用于若所述图片的大小大于预设图片大小阈值,则判断所述图片为大图;

图片像素判断子单元,用于若所述图片的像素大小大于预设像素阈值,则判断所述图片为大图;

加载时长判断子单元,用于若所述图片的加载时长大于预设加载时长阈值,则判断所述图片为大图。

本申请实施例提供的大图加载问题检测装置,与本申请前述实施例提供的大图加载问题检测方法出于相同的发明构思,具有相同的有益效果。

基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备对应的方法可以是前述实施例中的大图加载问题检测方法,并且其解决问题的原理与该方法相似。本申请实施例提供的所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述本申请的多个实施例的大图加载问题检测方法和/或技术方案。

所述电子设备可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。

图4示出了适用于实现本申请实施例中的方法和/或技术方案的一种电子设备的结构,该电子设备1200包括中央处理单元(CPU,Central Processing Unit)1201,其可以根据存储在只读存储器(ROM,Read Only Memory)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM,Random Access Memory)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM1203通过总线1204彼此相连。输入/输出(I/O,Input/Output)接口1205也连接至总线1204。

以下部件连接至I/O接口1205:包括键盘、鼠标、触摸屏、麦克风、红外传感器等的输入部分1206;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,LiquidCrystal Display)、LED显示器、OLED显示器等以及扬声器等的输出部分1207;包括硬盘、光盘、磁盘、半导体存储器等一个或多个计算机可读介质的存储部分1208;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。

特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的方法中限定的上述功能。

本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的任意一个或多个实施例的方法和/或技术方案。

具体来说,本实施例可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

相关技术
  • HTML5页面的加载方法、装置、计算机设备及存储介质
  • 数据加载方法、装置、计算设备和计算机可读存储介质
  • 文件预加载方法、装置、电子设备及计算机可读存储介质
  • 报价系统网页加载方法、装置、计算机设备和存储介质
  • 一种组件加载方法、装置、计算机设备及存储介质
  • 一种大图加载检测方法、装置、电子设备及存储介质
  • 问题语义图的标签定位方法、装置、计算机设备和存储介质
技术分类

06120116486569