应用程序推荐方法、程序启动速度的优化方法和装置制造方法

文档序号:6523836阅读:155来源:国知局
应用程序推荐方法、程序启动速度的优化方法和装置制造方法
【专利摘要】本发明提出一种应用程序推荐方法、程序启动速度的优化方法和装置。其中,应用程序推荐方法包括以下步骤:获取多个应用程序的启动时间;以及根据启动时间对多个应用程序进行推荐。本发明实施例的方法,通过获得多个应用程序的启动时间,在用户查询∕查看应用程序时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。
【专利说明】应用程序推荐方法、程序启动速度的优化方法和装置
【技术领域】
[0001]本发明涉及计算机领域,特别涉及一种应用程序推荐方法、程序启动速度的优化方法和装置。
【背景技术】
[0002]随着应用程序的数量和种类的不断增多,应用程序的启动速度已经成为用户,特别是移动终端的用户,选择应用程序的重要标准之一。在应用程序的启动过程中,即从用户点击应用程序图标到进入应用程序的用户界面的过程中,应用程序的相应模块可能会执行数据初始化、加载数据资源等操作,甚至会执行读写数据库,访问网络等复杂耗时的操作。这些操作的执行时间都是应用程序启动时间的一部分,如果其中任意一个或多个操作执行时间过长即会延长应用程序的启动时间。
[0003]目前,软件开发人员或测试人员可通过精确秒表记录在应用程序启动过程的起始时间,并根据获得的时间数据对应用程序进行进一步分析和测试,并且需对可能影响应用程序启动速度的因素逐一进行排查分析,加大了工作量,分析效率低。此外,上述获取应用程序启动时间的方法,受到开发和测试人员的个人反应条件、秒表设备的精度等因素的影响,获取的时间数据准确性不高,从而难以有效地实现对应用程序进行优化的目地。

【发明内容】

[0004]本发明旨在至少在一定程度上解决上述技术问题。
[0005]为此,本发明的第一个目的在于提出一种应用程序推荐的方法,该方法可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。
[0006]本发明的第二个目的在于提出一种程序启动速度的优化方法。
[0007]本发明的第三个目的在于提出一种应用程序推荐装置。
[0008]本发明的第四个目的在于提出一种程序启动速度的优化装置。
[0009]为了实现上述目的,本发明第一方面实施例的程序启动速度的优化方法,包括以下步骤:获取多个应用程序的启动时间;以及根据所述启动时间对所述多个应用程序进行推荐。
[0010]本发明实施例的应用程序推荐的方法,通过获得多个应用程序的启动时间,在用户下载时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度
[0011]为了实现上述目的,本发明第二方面实施例的程序启动速度的优化方法,包括以下步骤:执行待优化程序;获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及根据所述待优化项对所述待优化程序的启动速度进行优化。[0012]本发明实施例的程序启动速度的优化方法,根据应用程序的模块运行信息和线程运行信息可快速准确地分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,从而提高了应用程序的启动速度,并且提升了应用程序的优化效率和准确性,提高产品质量。
[0013]为了实现上述目的,本发明第三方面实施例的应用程序启动装置,包括:第一获取模块,用于获取多个应用程序的启动时间;以及第一推荐模块,用于根据所述启动时间对所述多个应用程序进行推荐。
[0014]本发明实施例的应用程序启动装置,通过第一获取模块获得多个应用程序的启动时间,在用户下载时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度。
[0015]为了实现上述目的,本发明第三方面实施例的程序启动速度的优化装置,包括:执行模块,用于执行待优化程序;第一获取模块,用于获取所述待优化程序在执行过程中的模块运行信息和线程运行信息;第二获取模块,用于根据所述模块运行信息和线程运行信息获取所述待优化程序的待优化项;以及优化模块,用于根据所述待优化项对所述待优化程序的启动速度进行优化。
[0016]本发明实施例的程序启动速度的优化装置,根据应用程序的模块运行信息和线程运行信息可准确分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,提高了应用程序的启动速度,提高产品质量。
[0017]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0018]本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0019]图1是本发明一个实施例的应用程序推荐的方法的流程图;
[0020]图2是本发明另一个实施例的应用程序推荐的方法的流程图;
[0021]图3是本发明又一个实施例的应用程序推荐的方法的流程图;
[0022]图4是本发明一个实施例的程序启动速度的优化方法的流程图;
[0023]图5是本发明另一个实施例的程序启动速度的优化方法的流程图;
[0024]图6是本发明一个具体实施例的应用程序启动检测数据分析结果的示意图;
[0025]图7是本发明一个实施例的应用程序推荐装置的结构示意图;
[0026]图8是本发明另一个实施例的应用程序推荐装置的结构示意图;
[0027]图9是本发明一个实施例的程序启动速度的优化装置的结构示意图;以及
[0028]图10是本发明另一个实施例的程序启动速度的优化装置的结构示意图;
【具体实施方式】
[0029]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0030]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于
附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0031]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0032]应用程序的启动速度已成为用户选择应用程序的重要标准之一,因此可根据应用程序的启动速度向用户推荐应用程序,以满足用户对应用程序快速启动的要求,为此,本发明提出了一种应用程序推荐的方法。
[0033]图1是本发明一个实施例的应用程序推荐的方法的流程图。
[0034]如图1所示,应用程序推荐的方法包括以下步骤。
[0035]SI I,获取多个应用程序的启动时间。
[0036]在本发明的实施例中,应用程序的启动时间是指从用户点击应用程序的启动图标到进入应用程序首界面所需要的时间。例如,用户打开百度地图,在用户点击百度地图的启动图标到进入百度地图首界面所需要的时间即是该应用程序的启动时间。
[0037]S12,根据启动时间对多个应用程序进行推荐。
[0038]在本发明的一个实施例中,应用程序分发端存储了大量应用程序,如多个由不同应用程序提供商提供的功能相似的应用程序或者同一个程序的不同版本等。应用程序分发端可分别获取每个应用程序的启动时间,并根据启动时间对应用程序进行排序,以及可将排序之后的应用程序例如以推荐列表的形式显示给用户,或者将相同类型的应用程序中启动时间较短的应用程序推荐给用户,以方便用户查询和/或查看应用程序,并满足用户对应用程序启动时间的需求。举例来说,应用程序分发端可是应用程序商店、豌豆荚手机助手、百度手机助手、软件管家等具有应用程序分发功能的工具。
[0039]本发明实施例的应用程序推荐的方法,通过获得多个应用程序的启动时间,在用户查询/查看应用程序时根据应用程序的启动时间进行推荐,可为用户提供启动时间短、启动速度快的应用程序,满足用户对应用程序快速启动的需求,提高了用户体验。此外,根据用户需求提供相应的应用程序,提高了用户的粘滞度。
[0040]目前,对应用程序的启动时间的测试,通常由软件开发人员或测试人员通过精确秒表记录应用程序启动过程的起始时间。然而,由于一些人为和设备因素的影响,获取的应用程序启动时间数据准确性不高,为了可以获得应用程序准确的启动时间,可在应用程序的启动程序中设置检测点,通过检测点获得应用程序准确的启动时间。具体地,图2是本发明另一个实施例的应用程序推荐的方法的流程图。
[0041]如图2所示,应用程序推荐的方法包括以下步骤。[0042]S21,在应用程序的主函数处设置第一检测点,并在应用程序的绘制函数处设置第二检测点,其中,第一检测点和第二检测点用于在应用程序执行时记录当前时间。
[0043]在本发明的实施例中,主函数是应用程序启动的入口函数。例如,对于用Java语言编写的应用程序,其应用程序的主函数是main函数,基于Android系统开发的应用程序,应用程序的主函数是Application类的onCreate函数。绘制函数为绘制用户启动界面的函数,如对于Java语言编写的应用程序,可为draw函数。
[0044]S22,执行应用程序,并分别获取第一检测点和第二检测点记录的当前时间。
[0045]具体地,在应用程序的启动过程中,当应用程序运行到主函数处时,即应用程序开始执行启动,第一检测点中记录的应用程序的当前时间即是应用程序开始启动的时间点。在应用程序运行到绘制函数处时,应用程序出现用户启动界面,此时可判断应用程序启动完成,因此,第二检测点中记录的应用程序的当前时间即是应用程序完成启动的时间点。
[0046]S23,根据第一检测点和第二检测点记录的当前时间获取应用程序对应的启动时间。
[0047]具体地,可用第二检测点中的当前时间减去第一检测点的当前时间即可获得应用程序的启动时间。
[0048]S24,根据启动时间对多个应用程序进行推荐。
[0049]本发明实施例的应用程序推荐的方法,在应用程序的程序中设置第一和第二检测点,由此,在应用程序的启动过程中,可通过第二和第一检测点中的当前时间差获得应用程序的启动时间,减少了软件开发人员或测试人员的工作量,提高了获得应用程序启动时间的速度及提高了检测应用程序启动时间的准确性。
[0050]为了使用户可以更方便地获得应用程序,还可对应用程序进行分类之后,再进行推荐下载。图3是本发明又一个实施例的应用程序推荐的方法的流程图。
[0051]如图3所示,应用程序推荐的方法包括以下步骤。
[0052]S31,在应用程序的主函数处设置第一检测点,并在应用程序的绘制函数处设置第二检测点,其中,第一检测点和第二检测点用于在应用程序执行时记录当前时间。
[0053]在本发明的实施例中,主函数是应用程序启动的入口函数。例如,对于用Java语言编写的应用程序,其应用程序的主函数是main函数,基于Android系统开发的应用程序,应用程序的主函数是Application类的onCreate函数。绘制函数为绘制用户启动界面的函数,如对于Java语言编写的应用程序,可为draw函数。
[0054]S32,执行应用程序,并分别获取第一检测点和第二检测点记录的当前时间。
[0055]具体地,在应用程序的启动过程中,当应用程序运行到主函数处时,即应用程序开始执行启动,第一检测点中记录的应用程序的当前时间即是应用程序开始启动的时间点。在应用程序运行到绘制函数处时,应用程序出现用户启动界面,此时可判断应用程序启动完成,因此,第二检测点中记录的应用程序的当前时间即是应用程序完成启动的时间点。
[0056]S33,根据第一检测点和第二检测点记录的当前时间获取应用程序对应的启动时间。
[0057]具体地,可用第二检测点中的当前时间减去第一检测点的当前时间即可获得应用程序的启动时间。
[0058]S34,获取多个应用程序的程序类型。[0059]在本发明的一个实施例中,应用程序的程序类型是指根据例如应用程序的功能进行分类而获得的类型。例如QQ、MSN、微信、易信等应用程序的程序类型是即时通信类,再例如,百度地图、搜狗地图、Google地图等应用程序的程序类型是地图应用类。
[0060]S35,根据启动时间和程序类型对多个应用程序进行推荐。
[0061]具体地,在本发明的一个实施例中,可根据程序类型对多个应用程序进行分类以生成至少一个应用程序类别。然后,可根据启动时间对每个应用程序类别中的应用程序进行排序,并生成与应用程序类别对应的应用程序推荐列表,以及根据用户指令获取用户指令选择的应用程序类别,并根据选择的应用程序类别对应的应用程序推荐列表推荐应用程序。
[0062]本发明实施例的应用程序推荐的方法,可将应用程序分发端中的大量应用程序进行分类之后,再根据应用程序的启动时间进行推荐,由此,可方便用户根据应用程序类型查询/查看应用程序。
[0063]在本发明的一个实施例中,获取客户端的硬件信息和操作系统信息,并根据启动时间、硬件信息和操作系统信息向客户端推荐应用程序。例如,当用户查询地图应用程序时,应用程序分发端可获取客户端的硬件信息和操作系统信息,以及根据客户端的硬件信息和操作系统信息获得地图应用程序对应类别的相关应用程序,并将相关应用程序根据启动时间、硬件信息和操作系统信息显示在地图应用程序对应类别的推荐列表中,用户可在推荐列表中查看相关应用程序。
[0064]此外,在用户查询具体应用程序时,也就是说,用户根据应用程序的具体名称查询时,应用程序分发端还可根据客户端的硬件信息和操作系统信息获得具体应用程序的不同版本,并将具体应用程序的不同版本按照启动时间进行排序,并生成与之对应的应用程序推荐列表,以将启动时间最短的应用程序推荐给用户。例如,在用户查询QQ时,应用程序分发端可将不同版本QQ的启动时间进行排序,并生成与之对应的推荐列表,从而用户可在推荐列表中查看QQ不同版本的启动时间。
[0065]在客户端的应用程序启动时间较长时,用户不仅可以通过重新下载启动时间短的应用程序来改善应用程序的启动速度,还可以通过对原应用程序的启动速度进行优化以减少原应用程序的启动时间。图4是本发明一个实施例的程序启动速度的优化方法的流程图。
[0066]如图4所示,程序启动速度的优化方法包括以下步骤。
[0067]S41,执行待优化程序。
[0068]S42,获取待优化程序在执行过程中的模块运行信息和线程运行信息。
[0069]在本发明的一个实施例中,模块运行信息是指在应用程序执行过程中的各个模块的运行时间,线程运行信息是指在应用程序执行过程中的各个线程的运行时间。
[0070]S43,根据模块运行信息和线程运行信息获取待优化程序的待优化项。
[0071]在本发明的一个实施例中,根据模块运行信息和线程运行信息获取不满足预设条件的模块和/或线程,并将其加入待优化项。
[0072]S44,根据待优化项对待优化程序的启动速度进行优化。
[0073]具体地,在服务器获得获取待优化程序的待优化项之后,可对待优化项进行优化从而提高应用程序的启动速度进行优化。[0074]本发明实施例的程序启动速度的优化方法,根据应用程序的模块运行信息和线程运行信息可快速准确地分析出应用程序启动速度的待优化项,并对待优化项进行优化和改进,从而提高了应用程序的启动速度,并且提升了应用程序的优化效率和准确性,提高产品质量。
[0075]图5是本发明另一个实施例的程序启动速度的优化方法的流程图。
[0076]如图5所示,程序启动速度的优化方法包括以下步骤。
[0077]S51,在待优化程序中的N个模块的开始位置和N个模块中的最后一个模块的结束位置分别设置N+1个检测点,其中,检测点用于在待优化程序执行时记录当前时间、在当前时间正在运行的线程和模块。
[0078]在本发明的一个实施例中,每个模块都具有预先设定的能够唯一标识模块的模块标签TAG。
[0079]S52,执行待优化程序。
[0080]S53,获取待优化程序在执行过程中的模块运行信息和线程运行信息。
[0081 ] 具体而言,在本发明的一个实施例中,在待优化程序执行过程中,分别获取N+1个检测点中记录的当前时间、在当前时间正在运行的线程和模块,根据多个检测点记录的当前时间和在当前时间正在运行的模块生成模块运行信息,以及根据多个检测点记录的当前时间和在当前时间正在运行的线程生成线程运行信息。
[0082]举例来说,在用Java语言编写应用程序时,可通过预先定义三个基础类:运行信息类RunTimelnfo、运行信息采集类RunTimeLogger和记录辅助类CsvWriter,以实现对应用程序启动过程中线程和模块的检测。运行信息类RunTimeInf0主要用于记录应用启动过程中的模块TAG、线程ID、系统时间。其中,线程ID可通过RunTimeLogger类调用Thread.currentThread0.getld()函数获得;系统时间可通过 RunTimeLogger 类调用 System.currentTimeMillisO函数获得。运行信息采集类RunTimeLogger能够在应用程序执行过程中,实时采集运行信息类RunTimelnfo。也就是说,运行信息采集类RunTimeLogger可实时记录模块TAG、线程ID和系统时间。记录辅助类CsvWriter保存运行信息采集类RunTimeLogger采集到的相关数据,以及将相关数据以.csv格式输出。
[0083]在完成以上三个基础类之后,就可在应用程序的各个模块的检测点,通过使用RunTimeLogger类记录下当前时间的模块TAG、线程ID和系统时间。
[0084]在应用程序完成启动过程显示出用户UI界面之后,记录辅助类CsvWriter可将运行信息采集类RunTimeLogger记录下的所有数据以csv文件格式输出,以方便数据分析软件分析数据。表1是输出的.csv文件中的部分数据。
[0085]
【权利要求】
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任一项所述的装置,其特征在于,还包括: 发送模块,用于将所述模块运行信息和所述线程运行信息发送至服务器,以使所述服务器根据所述模块运行信息和所述线程运行信息获取所述待优化程序的待优化项。
【文档编号】G06F17/30GK103646090SQ201310688103
【公开日】2014年3月19日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】刘新建 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1