CN103646090A - 应用程序推荐方法、程序启动速度的优化方法和装置 - Google Patents
应用程序推荐方法、程序启动速度的优化方法和装置 Download PDFInfo
- Publication number
- CN103646090A CN103646090A CN201310688103.7A CN201310688103A CN103646090A CN 103646090 A CN103646090 A CN 103646090A CN 201310688103 A CN201310688103 A CN 201310688103A CN 103646090 A CN103646090 A CN 103646090A
- Authority
- CN
- China
- Prior art keywords
- module
- application program
- program
- optimized
- thread
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出一种应用程序推荐方法、程序启动速度的优化方法和装置。其中,应用程序推荐方法包括以下步骤:获取多个应用程序的启动时间;以及根据启动时间对多个应用程序进行推荐。本发明实施例的方法,通过获得多个应用程序的启动时间,在用户查询∕查看应用程序时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。
Description
技术领域
本发明涉及计算机领域,特别涉及一种应用程序推荐方法、程序启动速度的优化方法和装置。
背景技术
随着应用程序的数量和种类的不断增多,应用程序的启动速度已经成为用户,特别是移动终端的用户,选择应用程序的重要标准之一。在应用程序的启动过程中,即从用户点击应用程序图标到进入应用程序的用户界面的过程中,应用程序的相应模块可能会执行数据初始化、加载数据资源等操作,甚至会执行读写数据库,访问网络等复杂耗时的操作。这些操作的执行时间都是应用程序启动时间的一部分,如果其中任意一个或多个操作执行时间过长即会延长应用程序的启动时间。
目前,软件开发人员或测试人员可通过精确秒表记录在应用程序启动过程的起始时间,并根据获得的时间数据对应用程序进行进一步分析和测试,并且需对可能影响应用程序启动速度的因素逐一进行排查分析,加大了工作量,分析效率低。此外,上述获取应用程序启动时间的方法,受到开发和测试人员的个人反应条件、秒表设备的精度等因素的影响,获取的时间数据准确性不高,从而难以有效地实现对应用程序进行优化的目地。
发明内容
本发明旨在至少在一定程度上解决上述技术问题。
为此,本发明的第一个目的在于提出一种应用程序推荐的方法,该方法可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。
本发明的第二个目的在于提出一种程序启动速度的优化方法。
本发明的第三个目的在于提出一种应用程序推荐装置。
本发明的第四个目的在于提出一种程序启动速度的优化装置。
为了实现上述目的,本发明第一方面实施例的程序启动速度的优化方法,包括以下步骤:获取多个应用程序的启动时间;以及根据所述启动时间对所述多个应用程序进行推荐。
本发明实施例的应用程序推荐的方法,通过获得多个应用程序的启动时间,在用户下载时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度
为了实现上述目的,本发明第二方面实施例的程序启动速度的优化方法,包括以下步骤:执行待优化程序;获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及根据所述待优化项对所述待优化程序的启动速度进行优化。
本发明实施例的程序启动速度的优化方法,根据应用程序的模块运行信息和线程运行信息可快速准确地分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,从而提高了应用程序的启动速度,并且提升了应用程序的优化效率和准确性,提高产品质量。
为了实现上述目的,本发明第三方面实施例的应用程序启动装置,包括:第一获取模块,用于获取多个应用程序的启动时间;以及第一推荐模块,用于根据所述启动时间对所述多个应用程序进行推荐。
本发明实施例的应用程序启动装置,通过第一获取模块获得多个应用程序的启动时间,在用户下载时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度。
为了实现上述目的,本发明第三方面实施例的程序启动速度的优化装置,包括:执行模块,用于执行待优化程序;第一获取模块,用于获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;第二获取模块,用于根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及优化模块,用于根据所述待优化项对所述待优化程序的启动速度进行优化。
本发明实施例的程序启动速度的优化装置,根据应用程序的模块运行信息和线程运行信息可准确分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,提高了应用程序的启动速度,提高产品质量。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例的应用程序推荐的方法的流程图;
图2是本发明另一个实施例的应用程序推荐的方法的流程图;
图3是本发明又一个实施例的应用程序推荐的方法的流程图;
图4是本发明一个实施例的程序启动速度的优化方法的流程图;
图5是本发明另一个实施例的程序启动速度的优化方法的流程图;
图6是本发明一个具体实施例的应用程序启动检测数据分析结果的示意图;
图7是本发明一个实施例的应用程序推荐装置的结构示意图;
图8是本发明另一个实施例的应用程序推荐装置的结构示意图;
图9是本发明一个实施例的程序启动速度的优化装置的结构示意图;以及
图10是本发明另一个实施例的程序启动速度的优化装置的结构示意图;
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
应用程序的启动速度已成为用户选择应用程序的重要标准之一,因此可根据应用程序的启动速度向用户推荐应用程序,以满足用户对应用程序快速启动的要求,为此,本发明提出了一种应用程序推荐的方法。
图1是本发明一个实施例的应用程序推荐的方法的流程图。
如图1所示,应用程序推荐的方法包括以下步骤。
S11,获取多个应用程序的启动时间。
在本发明的实施例中,应用程序的启动时间是指从用户点击应用程序的启动图标到进入应用程序首界面所需要的时间。例如,用户打开百度地图,在用户点击百度地图的启动图标到进入百度地图首界面所需要的时间即是该应用程序的启动时间。
S12,根据启动时间对多个应用程序进行推荐。
在本发明的一个实施例中,应用程序分发端存储了大量应用程序,如多个由不同应用程序提供商提供的功能相似的应用程序或者同一个程序的不同版本等。应用程序分发端可分别获取每个应用程序的启动时间,并根据启动时间对应用程序进行排序,以及可将排序之后的应用程序例如以推荐列表的形式显示给用户,或者将相同类型的应用程序中启动时间较短的应用程序推荐给用户,以方便用户查询和∕或查看应用程序,并满足用户对应用程序启动时间的需求。举例来说,应用程序分发端可是应用程序商店、豌豆荚手机助手、百度手机助手、软件管家等具有应用程序分发功能的工具。
本发明实施例的应用程序推荐的方法,通过获得多个应用程序的启动时间,在用户查询∕查看应用程序时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度。
目前,对应用程序的启动时间的测试,通常由软件开发人员或测试人员通过精确秒表记录应用程序启动过程的起始时间。然而,由于一些人为和设备因素的影响,获取的应用程序启动时间数据准确性不高,为了可以获得应用程序准确的启动时间,可在应用程序的启动程序中设置检测点,通过检测点获得应用程序准确的启动时间。具体地,图2是本发明另一个实施例的应用程序推荐的方法的流程图。
如图2所示,应用程序推荐的方法包括以下步骤。
S21,在应用程序的主函数处设置第一检测点,并在应用程序的绘制函数处设置第二检测点,其中,第一检测点和第二检测点用于在应用程序执行时记录当前时间。
在本发明的实施例中,主函数是应用程序启动的入口函数。例如,对于用Java语言编写的应用程序,其应用程序的主函数是main函数,基于Android系统开发的应用程序,应用程序的主函数是Application类的onCreate函数。绘制函数为绘制用户启动界面的函数,如对于Java语言编写的应用程序,可为draw函数。
S22,执行应用程序,并分别获取第一检测点和第二检测点记录的当前时间。
具体地,在应用程序的启动过程中,当应用程序运行到主函数处时,即应用程序开始执行启动,第一检测点中记录的应用程序的当前时间即是应用程序开始启动的时间点。在应用程序运行到绘制函数处时,应用程序出现用户启动界面,此时可判断应用程序启动完成,因此,第二检测点中记录的应用程序的当前时间即是应用程序完成启动的时间点。
S23,根据第一检测点和第二检测点记录的当前时间获取应用程序对应的启动时间。
具体地,可用第二检测点中的当前时间减去第一检测点的当前时间即可获得应用程序的启动时间。
S24,根据启动时间对多个应用程序进行推荐。
本发明实施例的应用程序推荐的方法,在应用程序的程序中设置第一和第二检测点,由此,在应用程序的启动过程中,可通过第二和第一检测点中的当前时间差获得应用程序的启动时间,减少了软件开发人员或测试人员的工作量,提高了获得应用程序启动时间的速度及提高了检测应用程序启动时间的准确性。
为了使用户可以更方便地获得应用程序,还可对应用程序进行分类之后,再进行推荐下载。图3是本发明又一个实施例的应用程序推荐的方法的流程图。
如图3所示,应用程序推荐的方法包括以下步骤。
S31,在应用程序的主函数处设置第一检测点,并在应用程序的绘制函数处设置第二检测点,其中,第一检测点和第二检测点用于在应用程序执行时记录当前时间。
在本发明的实施例中,主函数是应用程序启动的入口函数。例如,对于用Java语言编写的应用程序,其应用程序的主函数是main函数,基于Android系统开发的应用程序,应用程序的主函数是Application类的onCreate函数。绘制函数为绘制用户启动界面的函数,如对于Java语言编写的应用程序,可为draw函数。
S32,执行应用程序,并分别获取第一检测点和第二检测点记录的当前时间。
具体地,在应用程序的启动过程中,当应用程序运行到主函数处时,即应用程序开始执行启动,第一检测点中记录的应用程序的当前时间即是应用程序开始启动的时间点。在应用程序运行到绘制函数处时,应用程序出现用户启动界面,此时可判断应用程序启动完成,因此,第二检测点中记录的应用程序的当前时间即是应用程序完成启动的时间点。
S33,根据第一检测点和第二检测点记录的当前时间获取应用程序对应的启动时间。
具体地,可用第二检测点中的当前时间减去第一检测点的当前时间即可获得应用程序的启动时间。
S34,获取多个应用程序的程序类型。
在本发明的一个实施例中,应用程序的程序类型是指根据例如应用程序的功能进行分类而获得的类型。例如QQ、MSN、微信、易信等应用程序的程序类型是即时通信类,再例如,百度地图、搜狗地图、Google地图等应用程序的程序类型是地图应用类。
S35,根据启动时间和程序类型对多个应用程序进行推荐。
具体地,在本发明的一个实施例中,可根据程序类型对多个应用程序进行分类以生成至少一个应用程序类别。然后,可根据启动时间对每个应用程序类别中的应用程序进行排序,并生成与应用程序类别对应的应用程序推荐列表,以及根据用户指令获取用户指令选择的应用程序类别,并根据选择的应用程序类别对应的应用程序推荐列表推荐应用程序。
本发明实施例的应用程序推荐的方法,可将应用程序分发端中的大量应用程序进行分类之后,再根据应用程序的启动时间进行推荐,由此,可方便用户根据应用程序类型查询∕查看应用程序。
在本发明的一个实施例中,获取客户端的硬件信息和操作系统信息,并根据启动时间、硬件信息和操作系统信息向客户端推荐应用程序。例如,当用户查询地图应用程序时,应用程序分发端可获取客户端的硬件信息和操作系统信息,以及根据客户端的硬件信息和操作系统信息获得地图应用程序对应类别的相关应用程序,并将相关应用程序根据启动时间、硬件信息和操作系统信息显示在地图应用程序对应类别的推荐列表中,用户可在推荐列表中查看相关应用程序。
此外,在用户查询具体应用程序时,也就是说,用户根据应用程序的具体名称查询时,应用程序分发端还可根据客户端的硬件信息和操作系统信息获得具体应用程序的不同版本,并将具体应用程序的不同版本按照启动时间进行排序,并生成与之对应的应用程序推荐列表,以将启动时间最短的应用程序推荐给用户。例如,在用户查询QQ时,应用程序分发端可将不同版本QQ的启动时间进行排序,并生成与之对应的推荐列表,从而用户可在推荐列表中查看QQ不同版本的启动时间。
在客户端的应用程序启动时间较长时,用户不仅可以通过重新下载启动时间短的应用程序来改善应用程序的启动速度,还可以通过对原应用程序的启动速度进行优化以减少原应用程序的启动时间。图4是本发明一个实施例的程序启动速度的优化方法的流程图。
如图4所示,程序启动速度的优化方法包括以下步骤。
S41,执行待优化程序。
S42,获取待优化程序在执行过程中的模块运行信息和线程运行信息。
在本发明的一个实施例中,模块运行信息是指在应用程序执行过程中的各个模块的运行时间,线程运行信息是指在应用程序执行过程中的各个线程的运行时间。
S43,根据模块运行信息和线程运行信息获取待优化程序的待优化项。
在本发明的一个实施例中,根据模块运行信息和线程运行信息获取不满足预设条件的模块和∕或线程,并将其加入待优化项。
S44,根据待优化项对待优化程序的启动速度进行优化。
具体地,在服务器获得获取待优化程序的待优化项之后,可对待优化项进行优化从而提高应用程序的启动速度进行优化。
本发明实施例的程序启动速度的优化方法,根据应用程序的模块运行信息和线程运行信息可快速准确地分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,从而提高了应用程序的启动速度,并且提升了应用程序的优化效率和准确性,提高产品质量。
图5是本发明另一个实施例的程序启动速度的优化方法的流程图。
如图5所示,程序启动速度的优化方法包括以下步骤。
S51,在待优化程序中的N个模块的开始位置和N个模块中的最后一个模块的结束位置分别设置N+1个检测点,其中,检测点用于在待优化程序执行时记录当前时间、在当前时间正在运行的线程和模块。
在本发明的一个实施例中,每个模块都具有预先设定的能够唯一标识模块的模块标签TAG。
S52,执行待优化程序。
S53,获取待优化程序在执行过程中的模块运行信息和线程运行信息。
具体而言,在本发明的一个实施例中,在待优化程序执行过程中,分别获取N+1个检测点中记录的当前时间、在当前时间正在运行的线程和模块,根据多个检测点记录的当前时间和在当前时间正在运行的模块生成模块运行信息,以及根据多个检测点记录的当前时间和在当前时间正在运行的线程生成线程运行信息。
举例来说,在用Java语言编写应用程序时,可通过预先定义三个基础类:运行信息类RunTimeInfo、运行信息采集类RunTimeLogger和记录辅助类CsvWriter,以实现对应用程序启动过程中线程和模块的检测。运行信息类RunTimeInfo主要用于记录应用启动过程中的模块TAG、线程ID、系统时间。其中,线程ID可通过RunTimeLogger类调用Thread.currentThread().getId()函数获得;系统时间可通过RunTimeLogger类调用System.currentTimeMillis()函数获得。运行信息采集类RunTimeLogger能够在应用程序执行过程中,实时采集运行信息类RunTimeInfo。也就是说,运行信息采集类RunTimeLogger可实时记录模块TAG、线程ID和系统时间。记录辅助类CsvWriter保存运行信息采集类RunTimeLogger采集到的相关数据,以及将相关数据以.csv格式输出。
在完成以上三个基础类之后,就可在应用程序的各个模块的检测点,通过使用RunTimeLogger类记录下当前时间的模块TAG、线程ID和系统时间。
在应用程序完成启动过程显示出用户UI界面之后,记录辅助类CsvWriter可将运行信息采集类RunTimeLogger记录下的所有数据以csv文件格式输出,以方便数据分析软件分析数据。表1是输出的.csv文件中的部分数据。
Time | Thread | TAG |
1 | 2202 | Model1_TAG1 |
2 | 6502 | Model3_TAG2 |
3 | 4201 | Model3_TAG3 |
4 | 4201 | Model1_TAG3 |
5 | 6502 | Model2_TAG2 |
8 | 6502 | Model1_TAG2 |
9 | 2202 | Model2_TAG1 |
11 | 2202 | Model2_TAG3 |
15 | 4201 | Model3_TAG1 |
表1
S54,根据模块运行信息和线程运行信息获取待优化程序的待优化项。
在本发明的一个实施例中,可根据模块运行信息中相邻两个检测点检测到的当前时间的时间差获取相邻两个检测点中前一个检测点记录的模块的运行时间,以获取多个模块的运行时间,以及获取运行时间大于第一预设阈值的模块,并将获取到的模块加入待优化项;对于线程运行信息中的每个线程,根据线程运行信息获取第一个检测到线程的检测点检记录的第一当前时间,并获取最后一个检测到线程的检测点记录的第二当前时间,根据第一当前时间和第二当前时间获取线程的运行时间,以及获取运行时间大于第二预设阈值的线程,并将获取到的线程加入待优化项。其中,其中,第一和第二预设阈值可以是程序启动速度的优化装置中的默认值,也可以是用户根据需求自己设定的值。
举例来说,可通过数据分析软件(如excel中的数据分析模块等)对表1中的数据进行分析,得到如图6中的数据,进而可根据表1和图6对应用程序模块的运行时间进行分析,通过相邻模块的时间差即可获得模块的运行时间。其中,图6是数据分析软件根据表1中的数据进行分析所生成的数据分析图。分析可得模块Model1_TAG1、Model3_TAG2、Model3_TAG3、Model1_TAG3、Model2_TAG2和Model1_TAG2的运行时间为1,模块Model2_TAG2的运行时间为3,模块Model2_TAG3的运行时间为4。如果第一预设阈值为3,则模块Model2_TAG3的运行时间为4超过了第一预设阈值3,此时可将模块Model2_TAG3加入到待优化项中。
举例来说,同样可根据表1和图6中的数据对应用程序线程的运行时间进行分析,根据每个线程ID获取第一个检测到线程的检测点检记录的第一当前时间,并获取最后一个检测到线程的检测点记录的第二当前时间,第二当前时间和第一当前时间差即是线程的运行时间,分析可得线程2202的运行时间为10,线程6502的运行时间为6,线程4202的运行时间为12。如果第二预设阈值为10,则线程4202的运行时间超过了第一预设阈值10,此时可将线程4202加入到待优化项中。
在本发明的一个实施例中,可在获得待优化应用程序的模块运行信息和线程运行信息之后,可将相应的模块运行信息和线程运行信息发送至服务器,并通过服务器对模块运行信息和线程运行信息进行分析以获取待优化程序的待优化项。
S55,根据待优化项对待优化程序的启动速度进行优化。
具体地,在服务器获得获取待优化程序的待优化项之后,可对待优化项进行优化从而提高应用程序的启动速度进行优化。
本发明实施例的程序启动速度的优化方法,通过在模块中设置监测点,可检测出应用程序在启动过程中各个模块和各个线程的运行时间,并将运行时间大于预设条件的模块和线程加入待优化项,以对待优化项进行优化和改进。由此,可减少人工检测,提高了检测待优化项的效率和准确性。
为了实现上述实施例,本发明还提出一种应用程序推荐装置。
图7是本发明一个实施例的应用程序推荐装置的结构示意图。
如图7所示,应用程序推荐装置包括:第一获取模块110和第一推荐模块120。
具体地,第一获取模块110用于获取多个应用程序的启动时间。其中,应用程序的启动时间是指从用户点击应用程序的启动图标到进入应用程序首界面所需要的时间。例如,用户打开百度地图,在用户点击百度地图的启动图标到进入百度地图首界面所需要的时间即是该应用程序的启动时间。
第一推荐模块120用于根据启动时间对多个应用程序进行推荐。具体地,应用程序分发端存储了大量应用程序,如多个由不同应用程序提供商提供的功能相似的应用程序或者同一个程序的不同版本等。第一获取模块110可分别获取每个应用程序的启动时间,第一推荐模块120根据启动时间对应用程序进行排序,以及将排序之后的应用程序例如以推荐列表的形式显示给用户,或者将相同类型的应用程序中启动时间较短的应用程序推荐给用户,以方便用户查询和∕或查看应用程序,并满足用户对应用程序启动时间的需求。举例来说,应用程序分发端可是应用程序商店、豌豆荚手机助手、百度手机助手、软件管家等具有应用程序分发功能的工具。
本发明实施例的应用程序推荐装置,通过第一获取模块获得多个应用程序的启动时间,在用户下载时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度。
图8是本发明另一个实施例的应用程序推荐装置的结构示意图。
如图8所示,应用程序推荐装置包括:第一获取模块110、第一推荐模块120、显示模块130、第二获取模块140和第二推荐模块150。其中,第一获取模块110包括:设置单元111、第一获取单元112和第二获取单元113,第一推荐模块120包括:第三获取单元121和推荐单元122,其中,推荐单元122包括:分类子单元1221、排序子单元1222和推荐子单元1223。
具体地,设置单元111用于在应用程序的主函数处设置第一检测点,并在应用程序的绘制函数处设置第二检测点,其中,第一检测点和第二检测点用于在应用程序执行时记录当前时间。在本发明的实施例中,主函数是应用程序启动的入口函数。例如,对于用Java语言编写的应用程序,其应用程序的主函数是main函数,基于Android系统开发的应用程序,应用程序的主函数是Application类的onCreate函数。绘制函数为绘制用户启动界面的函数,如对于Java语言编写的应用程序,可为draw函数。
第一获取单元112用于执行应用程序,并分别获取第一检测点和第二检测点记录的当前时间。更具体地,在执行应用程序的过程中,当应用程序运行到主函数处时,即应用程序开始执行启动,第一获取单元112获取第一检测点中记录的当前时间即应用程序开始启动的时间点。在应用程序运行到绘制函数处时,应用程序出现用户UI界面,即应用程序启动完成,第一获取单元112获取第二检测点中记录的当前时间即应用程序完成启动的时间点。
第二获取单元113用于根据第一检测点和第二检测点记录的当前时间获取应用程序对应的启动时间。具体地,第二获取单元113可用第二检测点中的当前时间减去第一检测点的当前时间即可获得应用程序的启动时间。
第三获取单元121用于可获取多个应用程序的程序类型。在本发明的一个实施例中,应用程序的程序类型是指根据例如应用程序的功能进行分类而获得的类型。例如QQ、MSN、微信、易信等应用程序的程序类型是即时通信类,再例如,百度地图、搜狗地图、Google地图等应用程序的程序类型是地图应用类。
推荐单元122用于根据启动时间和程序类型对多个应用程序进行推荐。
在本发明的一个实施例中,推荐单元122包括:分类子单元1221、排序子单元1222和推荐子单元1223。具体地,分类子单元1221用于根据程序类型对多个应用程序进行分类以生成至少一个应用程序类别。排序子单元1222用于根据启动时间对每个应用程序类别中的应用程序进行排序,并生成与应用程序类别对应的应用程序推荐列表,推荐子单元1223用于根据用户指令获取用户指令选择的应用程序类别,并根据选择的应用程序类别对应的应用程序推荐列表推荐应用程序。
显示模块130用于在应用程序推荐列表中显示相应的应用程序类型,并显示应用程序推荐列表中的每个应用程序的启动时间。
在本发明的一个实施例中,应用程序推荐装置还包括:第二获取模块140和第二推荐模块150。具体地,第二获取模块140用于获取客户端的硬件信息和操作系统信息,第二推荐模块150用于根据启动时间、硬件信息和操作系统信息向客户端推荐应用程序。例如,当用户查询地图应用程序时,第二获取模块140可获取客户端的硬件信息和操作系统信息,以及第二推荐模块150根据客户端的硬件信息和操作系统信息获得地图应用程序对应类别的相关应用程序,并将相关应用程序根据启动时间、硬件信息和操作系统信息显示在地图应用程序对应类别的推荐列表中,用户可在显示模块130中查看推荐列表中的相关应用程序。
此外,在用户查询具体应用程序时,也就是说,用户根据应用程序的具体名称查询时,第二获取模块140还可根据客户端的硬件信息和操作系统信息获得具体应用程序的不同版本,第二推荐模块150将具体应用程序的不同版本按照启动时间进行排序,并生成与之对应的应用程序推荐列表,以将启动时间最短的应用程序推荐给用户。例如,在用户查询QQ时,第二推荐模块150可将不同版本QQ的启动时间进行排序,并生成与之对应的推荐列表,从而用户可在推荐列表中查看QQ不同版本的启动时间。
本发明实施例的应用程序推荐装置,通过将大量应用程序进行分类之后,再根据应用程序的启动时间进行推荐,由此,方便了用户根据应用程序类型查询∕查看应用程序。
图9是本发明一个实施例的程序启动速度的优化装置的结构示意图。
如图9所示,程序启动速度的优化装置包括:执行模块210、第一获取模块220、第二获取模块230和优化模块240。
具体地,执行模块210用于执行待优化程序。
第一获取模块220用于获取待优化程序在执行过程中的模块运行信息和线程运行信息。其中,模块运行信息是指在应用程序执行过程中的各个模块的运行时间,线程运行信息是指在应用程序执行过程中的各个线程的运行时间。
第二获取模块230用于根据模块运行信息和线程运行信息获取待优化程序的待优化项。具体地,第二获取模块230根据模块运行信息和线程运行信息获取不满足预设条件的模块和∕或线程,并将其加入待优化项。
优化模块240用于根据待优化项对待优化程序的启动速度进行优化。更具体地,在服务器获得获取待优化程序的待优化项之后,优化模块240可对待优化项进行优化从而提高应用程序的启动速度进行优化。
本发明实施例的程序启动速度的优化装置,根据应用程序的模块运行信息和线程运行信息可准确分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,提高了应用程序的启动速度,提高产品质量。
图10是本发明另一个实施例的程序启动速度的优化装置的结构示意图。
如图10所示,程序启动速度的优化装置包括:执行模块210、第一获取模块220、第二获取模块230、优化模块240和发送模块250。其中,第一获取模块220包括:第一获取单元221、第一生成单元222和第二生成单元223,第二获取模块230包括:第二获取单元231、第三获取单元232、第四获取单元233和第五获取单元234。
具体地,在本发明的一个实施例中,可在待优化程序中的N个模块的开始位置和N个模块中的最后一个模块的结束位置分别设置N+1个检测点,其中,每个模块都具有预先设定的能够唯一标识模块的模块标签TAG。检测点用于在待优化程序执行时记录当前时间、在当前时间正在运行的线程和模块。
第一获取单元221用于在待优化程序执行过程中,分别获取N+1个检测点中记录的当前时间、在当前时间正在运行的线程和模块。
第一生成单元222用于根据多个检测点记录的当前时间和在当前时间正在运行的模块生成模块运行信息。
第一生成单元223用于根据多个检测点记录的当前时间和在当前时间正在运行的线程生成线程运行信息。
举例来说,在用Java语言编写应用程序时,可通过预先定义三个基础类:运行信息类RunTimeInfo、运行信息采集类RunTimeLogger和记录辅助类CsvWriter,以实现对应用程序启动过程中线程和模块的检测。运行信息类RunTimeInfo主要用于记录应用启动过程中的模块TAG、线程ID、系统时间。其中,线程ID可通过RunTimeLogger类调用Thread.currentThread().getId()函数获得;系统时间可通过RunTimeLogger类调用System.currentTimeMillis()函数获得。运行信息采集类RunTimeLogger能够在应用程序执行过程中,实时采集运行信息类RunTimeInfo。也就是说,运行信息采集类RunTimeLogger可实时记录模块TAG、线程ID和系统时间。记录辅助类CsvWriter保存运行信息采集类RunTimeLogger采集到的相关数据,以及将相关数据以.csv格式输出。
在完成以上三个基础类之后,就可在应用程序的各个模块的检测点,通过使用RunTimeLogger类记录下当前时间的模块TAG、线程ID和系统时间。
在应用程序完成启动过程显示出用户UI界面之后,记录辅助类CsvWriter可将运行信息采集类RunTimeLogger记录下的所有数据以csv文件格式输出,以方便数据分析软件分析数据。输出的.csv文件中的部分数据如表1所示。
第二获取单元231用于根据模块运行信息中相邻两个检测点检测到的当前时间的时间差获取相邻两个检测点中前一个检测点记录的模块的运行时间,以获取多个模块的运行时间。
第三获取单元232用于获取运行时间大于第一预设阈值的模块,并将获取到的模块加入待优化项。其中,第一预设阈值可以是程序启动速度的优化装置中的默认值,也可以是用户根据需求自己设定的值。
举例来说,可通过数据分析软件(如excel中的数据分析模块等)对表1中的数据进行分析,得到如图6中的数据,进而可根据表1和图6对应用程序模块的运行时间进行分析,通过相邻模块的时间差即可获得模块的运行时间。其中,图6是数据分析软件根据表1中的数据进行分析所生成的数据分析图。分析可得模块Model1_TAG1、Model3_TAG2、Model3_TAG3、Model1_TAG3、Model2_TAG2和Model1_TAG2的运行时间为1,模块Model2_TAG2的运行时间为3,模块Model2_TAG3的运行时间为4。如果第一预设阈值为3,则模块Model2_TAG3的运行时间为4超过了第一预设阈值3,此时可将模块Model2_TAG3加入到待优化项中。
第四获取单元233用于对于线程运行信息中的每个线程,根据线程运行信息获取第一个检测到线程的检测点检记录的第一当前时间,并获取最后一个检测到线程的检测点记录的第二当前时间,根据第一当前时间和第二当前时间获取线程的运行时间。
第五获取单元234用于获取运行时间大于第二预设阈值的线程,并将获取到的线程加入待优化项。其中,第二预设阈值可以是程序启动速度的优化装置中的默认值,也可以是用户根据需求自己设定的值。
举例来说,同样可根据表1和图6中的数据对应用程序线程的运行时间进行分析,根据每个线程ID获取第一个检测到线程的检测点检记录的第一当前时间,并获取最后一个检测到线程的检测点记录的第二当前时间,第二当前时间和第一当前时间差即是线程的运行时间,分析可得线程2202的运行时间为10,线程6502的运行时间为6,线程4202的运行时间为12。如果第二预设阈值为10,则线程4202的运行时间超过了第一预设阈值10,此时可将线程4202加入到待优化项中。
发送模块250用于将相应的模块运行信息和线程运行信息发送至服务器,以使服务器可根据模块运行信息和线程运行信息获取待优化程序的待优化项。
本发明实施例的程序启动速度的优化装置,通过在模块中设置监测点,可检测出应用程序在启动过程中各个模块和各个线程的运行时间,并将运行时间大于预设条件的模块和线程加入待优化项,以对待优化项进行优化和改进。由此,可减少人工检测,提高了检测待优化项的效率。
应当理解,在本发明的实施例中,客户端可以是个人计算机PC、手机、平板电脑等具有各种操作系统的硬件设备。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
Claims (20)
1.一种应用程序推荐的方法,其特征在于,包括:
获取多个应用程序的启动时间;以及
根据所述启动时间对所述多个应用程序进行推荐。
2.如权利要求1所述的方法,其特征在于,所述获取应用程序的启动时间具体包括:
在所述应用程序的主函数处设置第一检测点,并在所述应用程序的绘制函数处设置第二检测点,所述第一检测点和第二检测点用于在所述应用程序执行时记录当前时间;
执行所述应用程序,并分别获取所述第一检测点和第二检测点记录的当前时间;以及
根据所述第一检测点和第二检测点记录的当前时间获取所述应用程序对应的启动时间。
3.如权利要求1所述的方法,其特征在于,所述根据所述启动时间对所述多个应用程序进行推荐包括:
获取所述多个应用程序的程序类型;以及
根据所述启动时间和所述程序类型对所述多个应用程序进行推荐。
4.如权利要求3所述的方法,其特征在于,所述根据所述启动时间和所述程序类型对所述多个应用程序进行推荐包括:
根据所述程序类型对所述多个应用程序进行分类以生成至少一个应用程序类别;
根据所述启动时间对每个应用程序类别中的应用程序进行排序,并生成与所述应用程序类别对应的应用程序推荐列表;以及
根据用户指令获取所述用户指令选择的应用程序类别,并根据所述选择的应用程序类别对应的应用程序推荐列表推荐应用程序。
5.如权利要求3所述的方法,其特征在于,还包括:
在所述应用程序推荐列表中显示相应的应用程序类型,并显示所述应用程序推荐列表中的每个应用程序的启动时间。
6.如权利要求1-5任一项所述的方法,其特征在于,还包括:
获取客户端的硬件信息和操作系统信息;
根据所述启动时间、所述硬件信息和操作系统信息向所述客户端推荐应用程序。
7.一种程序启动速度的优化方法,其特征在于,包括:
执行待优化程序;
获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;
根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及
根据所述待优化项对所述待优化程序的启动速度进行优化。
8.如权利要求7所述的方法,其特征在于,在所述待优化程序中的N个模块的开始位置和所述N个模块中的最后一个模块的结束位置分别设置N+1个检测点,其中,所述检测点用于在所述待优化程序执行时记录当前时间、在所述当前时间正在运行的线程和模块,所述获取所述待优化程序在执行过程中的模块运行信息和线程运行信息具体包括:
在所述待优化程序执行过程中,分别获取所述多个检测点记录的当前时间、在所述当前时间正在运行的线程和模块;
根据所述多个检测点记录的当前时间和在所述当前时间正在运行的模块生成模块运行信息;
根据所述多个检测点记录的当前时间和在所述当前时间正在运行的线程生成线程运行信息。
9.如权利要求8所述的方法,其特征在于,所述根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项具体包括:
根据所述模块运行信息中相邻两个检测点检测到的当前时间的时间差获取所述相邻两个检测点中前一个检测点记录的模块的运行时间,以获取所述多个模块的运行时间;
获取所述运行时间大于第一预设阈值的模块,并将所述获取到的模块加入所述待优化项;
对于所述线程运行信息中的每个线程,根据所述线程运行信息获取第一个检测到所述线程的检测点检记录的第一当前时间,并获取最后一个检测到所述线程的检测点记录的第二当前时间,根据所述第一当前时间和所述第二当前时间获取所述线程的运行时间;
获取所述运行时间大于第二预设阈值的线程,并将所述获取到的线程加入所述待优化项。
10.如权利要求7-9任一项所述的方法,其特征在于,还包括:
将所述模块运行信息和所述线程运行信息发送至服务器,以使所述服务器根据所述模块运行信息和所述线程运行信息获取所述待优化程序的待优化项。
11.一种应用程序推荐装置,其特征在于,包括:
第一获取模块,用于获取多个应用程序的启动时间;以及
第一推荐模块,用于根据所述启动时间对所述多个应用程序进行推荐。
12.如权利要求11所述的装置,其特征在于,所述第一获取模块包括:
设置单元,用于在所述应用程序的主函数处设置第一检测点,并在所述应用程序的绘制函数处设置第二检测点,所述第一检测点和第二检测点用于在所述应用程序执行时记录当前时间;
第一获取单元,用于执行所述应用程序,并分别获取所述第一检测点和第二检测点记录的当前时间;以及
第二获取单元,用于根据所述第一检测点和第二检测点记录的当前时间获取所述应用程序对应的启动时间。
13.如权利要求11所述的装置,其特征在于,所述第一推荐模块包括:
第三获取单元,用于获取所述多个应用程序的程序类型;以及
推荐单元,用于根据所述启动时间和所述程序类型对所述多个应用程序进行推荐。
14.如权利要求13所述的装置,其特征在于,所述推荐单元包括:
分类子单元,用于根据所述程序类型对所述多个应用程序进行分类以生成至少一个应用程序类别;
排序子单元,用于根据所述启动时间对每个应用程序类别中的应用程序进行排序,并生成与所述应用程序类别对应的应用程序推荐列表;以及
推荐子单元,用于根据用户指令获取所述用户指令选择的应用程序类别,并根据所述选择的应用程序类别对应的应用程序推荐列表推荐应用程序。
15.如权利要求13所述的装置,其特征在于,还包括:
显示模块,用于在所述应用程序推荐列表中显示相应的应用程序类型,并显示所述应用程序推荐列表中的每个应用程序的启动时间。
16.如权利要求11-15任一项所述的装置,其特征在于,还包括:
第二获取模块,用于获取客户端的硬件信息和操作系统信息;
第二推荐模块,用于根据所述启动时间、所述硬件信息和操作系统信息向所述客户端推荐应用程序。
17.一种程序启动速度的优化装置,其特征在于,包括:
执行模块,用于执行待优化程序;
第一获取模块,用于获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;
第二获取模块,用于根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及
优化模块,用于根据所述待优化项对所述待优化程序的启动速度进行优化。
18.如权利要求17所述的装置,其特征在于,在所述待优化程序中的N个模块的开始位置和所述N个模块中的最后一个模块的结束位置分别设置N+1个检测点,其中,所述检测点用于在所述待优化程序执行时记录当前时间、在所述当前时间正在运行的线程和模块,所述第一获取模块包括:
第一获取单元,用于在所述待优化程序执行过程中,分别获取所述多个检测点记录的当前时间、在所述当前时间正在运行的线程和模块;
第一生成单元,用于根据所述多个检测点记录的当前时间和在所述当前时间正在运行的模块生成模块运行信息;
第二生成单元,用于根据所述多个检测点记录的当前时间和在所述当前时间正在运行的线程生成线程运行信息。
19.如权利要求18所述的装置,其特征在于,所述第二获取模块包括:
第二获取单元,用于根据所述模块运行信息中相邻两个检测点检测到的当前时间的时间差获取所述相邻两个检测点中前一个检测点记录的模块的运行时间,以获取所述多个模块的运行时间;
第三获取单元,用于获取所述运行时间大于第一预设阈值的模块,并将所述获取到的模块加入所述待优化项;
第四获取单元,用于对于所述线程运行信息中的每个线程,根据所述线程运行信息获取第一个检测到所述线程的检测点检记录的第一当前时间,并获取最后一个检测到所述线程的检测点记录的第二当前时间,根据所述第一当前时间和所述第二当前时间获取所述线程的运行时间;
第五获取单元,用于获取所述运行时间大于第二预设阈值的线程,并将所述获取到的线程加入所述待优化项。
20.如权利要求17-19任一项所述的装置,其特征在于,还包括:
发送模块,用于将所述模块运行信息和所述线程运行信息发送至服务器,以使所述服务器根据所述模块运行信息和所述线程运行信息获取所述待优化程序的待优化项。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610391251.6A CN106095866B (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
CN201310688103.7A CN103646090A (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310688103.7A CN103646090A (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610391251.6A Division CN106095866B (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103646090A true CN103646090A (zh) | 2014-03-19 |
Family
ID=50251304
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610391251.6A Active CN106095866B (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
CN201310688103.7A Pending CN103646090A (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610391251.6A Active CN106095866B (zh) | 2013-12-16 | 2013-12-16 | 应用程序推荐方法、程序启动速度的优化方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN106095866B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104965662A (zh) * | 2015-07-02 | 2015-10-07 | 安一恒通(北京)科技有限公司 | 移动智能终端的操作方法及装置 |
CN105095235A (zh) * | 2014-04-28 | 2015-11-25 | 小米科技有限责任公司 | 应用程序推荐方法和装置 |
CN105205086A (zh) * | 2014-06-30 | 2015-12-30 | 小米科技有限责任公司 | 应用程序使用信息分享方法和装置 |
CN105830028A (zh) * | 2014-07-11 | 2016-08-03 | 华为技术有限公司 | 人机交互功能执行方法及终端 |
CN106293792A (zh) * | 2015-06-02 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 软件启动方法和装置 |
CN107092520A (zh) * | 2017-04-18 | 2017-08-25 | 广东欧珀移动通信有限公司 | 应用程序的推荐方法、装置、存储介质及移动终端 |
CN107463364A (zh) * | 2016-06-03 | 2017-12-12 | 宏碁股份有限公司 | 应用程序推荐方法及应用其的电子装置 |
CN107958056A (zh) * | 2017-11-29 | 2018-04-24 | 广东欧珀移动通信有限公司 | 应用推荐方法、装置以及移动终端 |
CN109240987A (zh) * | 2018-08-18 | 2019-01-18 | 王梅 | 用于移动互联网的基于时间进行数据预取的方法及系统 |
CN111465921A (zh) * | 2017-12-12 | 2020-07-28 | 三星电子株式会社 | 用户终端设备及其控制方法 |
CN111652686A (zh) * | 2020-06-05 | 2020-09-11 | 京东数字科技控股有限公司 | 信息推送方法、装置及存储介质 |
CN112765033A (zh) * | 2021-01-26 | 2021-05-07 | 百度在线网络技术(北京)有限公司 | 速度测试方法、装置、设备及存储介质 |
CN113051493A (zh) * | 2021-03-30 | 2021-06-29 | 深圳市欢太科技有限公司 | 应用程序展示方法、装置、存储介质以及终端 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017203570A1 (de) * | 2017-03-06 | 2018-09-06 | Volkswagen Aktiengesellschaft | Verfahren und vorrichtung zur darstellung von empfohlenen bedienhandlungen eines vorschlagssystems und interaktion mit dem vorschlagssystem |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933630A (en) * | 1997-06-13 | 1999-08-03 | Acceleration Software International Corporation | Program launch acceleration using ram cache |
CN101937547A (zh) * | 2010-09-15 | 2011-01-05 | 宇龙计算机通信科技(深圳)有限公司 | 软件和/或软件信息推送方法、系统、获取装置、软件商店服务系统及移动终端 |
CN102368239A (zh) * | 2011-06-29 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种装机方案自动推荐的方法及装置 |
CN102981863A (zh) * | 2011-09-07 | 2013-03-20 | 奇智软件(北京)有限公司 | 一种开机启动项目的管理方法和装置 |
CN103279477A (zh) * | 2013-04-16 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 应用程序的搜索方法、装置和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2590037B1 (de) * | 2011-11-04 | 2018-08-08 | VEGA Grieshaber KG | Speicherüberprüfung durch Boot-Loader beim Starten eines Feldgeräts |
CN103226486B (zh) * | 2013-04-23 | 2016-08-10 | 北京奇虎科技有限公司 | 对浏览器运行进行优化的方法和装置 |
-
2013
- 2013-12-16 CN CN201610391251.6A patent/CN106095866B/zh active Active
- 2013-12-16 CN CN201310688103.7A patent/CN103646090A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5933630A (en) * | 1997-06-13 | 1999-08-03 | Acceleration Software International Corporation | Program launch acceleration using ram cache |
CN101937547A (zh) * | 2010-09-15 | 2011-01-05 | 宇龙计算机通信科技(深圳)有限公司 | 软件和/或软件信息推送方法、系统、获取装置、软件商店服务系统及移动终端 |
CN102368239A (zh) * | 2011-06-29 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种装机方案自动推荐的方法及装置 |
CN102981863A (zh) * | 2011-09-07 | 2013-03-20 | 奇智软件(北京)有限公司 | 一种开机启动项目的管理方法和装置 |
CN103279477A (zh) * | 2013-04-16 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 应用程序的搜索方法、装置和系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095235A (zh) * | 2014-04-28 | 2015-11-25 | 小米科技有限责任公司 | 应用程序推荐方法和装置 |
CN105205086A (zh) * | 2014-06-30 | 2015-12-30 | 小米科技有限责任公司 | 应用程序使用信息分享方法和装置 |
CN105830028B (zh) * | 2014-07-11 | 2020-06-26 | 华为技术有限公司 | 人机交互功能执行方法及终端 |
CN105830028A (zh) * | 2014-07-11 | 2016-08-03 | 华为技术有限公司 | 人机交互功能执行方法及终端 |
US10747550B2 (en) | 2015-06-02 | 2020-08-18 | Tencent Technology (Shenzhen) Company Limited | Method, terminal and storage medium for starting software |
CN106293792A (zh) * | 2015-06-02 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 软件启动方法和装置 |
CN104965662A (zh) * | 2015-07-02 | 2015-10-07 | 安一恒通(北京)科技有限公司 | 移动智能终端的操作方法及装置 |
CN107463364A (zh) * | 2016-06-03 | 2017-12-12 | 宏碁股份有限公司 | 应用程序推荐方法及应用其的电子装置 |
CN107092520A (zh) * | 2017-04-18 | 2017-08-25 | 广东欧珀移动通信有限公司 | 应用程序的推荐方法、装置、存储介质及移动终端 |
CN107092520B (zh) * | 2017-04-18 | 2019-07-19 | Oppo广东移动通信有限公司 | 应用程序的推荐方法、装置、存储介质及移动终端 |
CN107958056A (zh) * | 2017-11-29 | 2018-04-24 | 广东欧珀移动通信有限公司 | 应用推荐方法、装置以及移动终端 |
CN111465921B (zh) * | 2017-12-12 | 2024-05-10 | 三星电子株式会社 | 用户终端设备及其控制方法 |
CN111465921A (zh) * | 2017-12-12 | 2020-07-28 | 三星电子株式会社 | 用户终端设备及其控制方法 |
CN109240987A (zh) * | 2018-08-18 | 2019-01-18 | 王梅 | 用于移动互联网的基于时间进行数据预取的方法及系统 |
CN109240987B (zh) * | 2018-08-18 | 2021-10-22 | 上海豹云网络信息服务有限公司 | 用于移动互联网的基于时间进行数据预取的方法及系统 |
CN111652686B (zh) * | 2020-06-05 | 2024-04-19 | 京东科技控股股份有限公司 | 信息推送方法、装置及存储介质 |
CN111652686A (zh) * | 2020-06-05 | 2020-09-11 | 京东数字科技控股有限公司 | 信息推送方法、装置及存储介质 |
CN112765033A (zh) * | 2021-01-26 | 2021-05-07 | 百度在线网络技术(北京)有限公司 | 速度测试方法、装置、设备及存储介质 |
CN113051493A (zh) * | 2021-03-30 | 2021-06-29 | 深圳市欢太科技有限公司 | 应用程序展示方法、装置、存储介质以及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106095866B (zh) | 2019-07-30 |
CN106095866A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103646090A (zh) | 应用程序推荐方法、程序启动速度的优化方法和装置 | |
CN107622014B (zh) | 测试报告生成方法、装置、可读存储介质和计算机设备 | |
JP7398068B2 (ja) | ソフトウェアテスト | |
Yeshchenko et al. | Comprehensive process drift detection with visual analytics | |
CN108959059B (zh) | 一种测试方法以及测试平台 | |
US20120079456A1 (en) | Systems and methods for identifying software performance influencers | |
US8904351B2 (en) | Maintenance of a subroutine repository for an application under test based on subroutine usage information | |
CN104298679A (zh) | 应用业务推荐方法及装置 | |
US9311345B2 (en) | Template based database analyzer | |
CN105574089A (zh) | 知识图谱的生成方法及装置、对象对比方法及装置 | |
US11372934B2 (en) | Identifying web elements based on user browsing activity and machine learning | |
CN110580217B (zh) | 软件代码健康度的检测方法、处理方法、装置及电子设备 | |
EP2113874A1 (en) | Method and system for monitoring computer-implemented processes | |
CN102043720A (zh) | 利用sql语句自动生成测试数据的方法和装置 | |
CN117009230B (zh) | 一种基于代码覆盖率评测的精准测试方法及系统 | |
US20120005540A1 (en) | Search suggestions for static code analysis | |
CN111523764B (zh) | 业务架构检测方法、装置、工具、电子设备和介质 | |
CN103368762A (zh) | 大数据对比测试方法、系统及装置 | |
CN109389972B (zh) | 语义云功能的质量测试方法、装置、存储介质和设备 | |
CN113835965B (zh) | 一种参数轨迹留痕方法及装置 | |
US20220206774A1 (en) | Systems and methods for building and deploying machine learning applications | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
CN114064510A (zh) | 功能测试方法、装置、电子设备和存储介质 | |
CN114676061A (zh) | 一种基于知识图谱自动化固件检测方法 | |
US20120066655A1 (en) | Electronic device and method for inspecting electrical rules of circuit boards |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140319 |
|
RJ01 | Rejection of invention patent application after publication |