窗口名称处理方法、装置及电子设备的制作方法

文档序号:6549251阅读:297来源:国知局
窗口名称处理方法、装置及电子设备的制作方法
【专利摘要】本发明是关于一种窗口名称处理方法、装置及电子设备,属于计算机领域。所述方法包括:确定被目标窗口引用为窗口名称的第一字符串资源;检测所述第一字符串资源的长度是否大于预定阈值;若检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。本发明通过在检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值时,对目标窗口的窗口名称做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能和安全性的效果。
【专利说明】窗口名称处理方法、装置及电子设备

【技术领域】
[0001]本公开涉及计算机领域,尤其涉及一种窗口名称处理方法、装置及电子设备。

【背景技术】
[0002]应用程序是指为了完成某项或某几项特定任务而被开发的计算机程序,且大多数的应用程序以窗口模式运行于操作系统之上。为了便于用户区分不同的应用程序,应用程序的窗口通常会对应显示各自的窗口名称。
[0003]在相关技术中,开发人员在构建应用程序时,为应用程序的每一个窗口指定一个字符串资源作为对应窗口的窗口名称。在生成应用程序安装包时,将应用程序代码以及引用的各个字符串资源打包到安装包,并发送给用户端进行安装。应用程序在用户端完成安装并被运行后,用户端的操作系统查询应用程序的窗口所引用的各个字符串资源,并将其中被指定为窗口名称的子符串资源显不在窗口顶部。
[0004]在实现本公开的过程中,发现相关技术至少存在以下问题:
[0005]应用程序运行时,将指定的字符串资源中的全部字符串显示为窗口名称,当该指定的字符串资源较长时,需要消耗大量的处理资源,从而导致系统性能急剧下降甚至崩溃,影响用户体验。


【发明内容】

[0006]为了解决相关技术中当被指定为窗口名称的字符串资源较长时,需要消耗大量的处理资源,从而导致系统性能急剧下降甚至崩溃的问题,本公开实施例提供了一种窗口名称处理方法、装置及电子设备。所述技术方案如下:
[0007]第一方面,提供了一种窗口名称处理方法,所述方法包括:
[0008]确定被目标窗口引用为窗口名称的第一字符串资源;
[0009]检测所述第一字符串资源的长度是否大于预定阈值;
[0010]若检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0011]优选的,所述方法应用于构建所述目标窗口对应的应用程序时,所述对所述目标窗口的窗口名称做截短处理,包括:
[0012]判断所述第一字符串资源是否还被引用为非窗口名称;
[0013]若判断结果为所述第一字符串资源还被引用为非窗口名称,则从所述第一字符串资源中提取出第一指定长度的字符串,所述第一指定长度小于等于所述预定阈值;
[0014]将提取出的所述字符串存储为第二字符串资源;
[0015]将被所述目标窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0016]优选的,所述方法还包括:
[0017]查询除所述目标窗口之外,其它将所述第一字符串资源引用为窗口名称的各个窗π ;
[0018]将被所述各个窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0019]优选的,所述方法还包括:
[0020]若判断结果为所述第一字符串资源未被引用为非窗口名称,则将所述第一字符串资源截短为第二指定长度,所述第二指定长度小于等于所述预定阈值。
[0021]优选的,所述方法应用于运行所述目标窗口对应的应用程序时,所述对所述目标窗口的窗口名称做截短处理,包括:
[0022]从所述第一字符串资源中提取出第三指定长度的字符串,所述第三指定长度小于等于所述预定阈值;
[0023]将提取出的所述字符串显示为所述目标窗口的窗口名称。
[0024]第二方面,提供了一种窗口名称处理装置,所述装置包括:
[0025]确定模块,用于确定被目标窗口引用为窗口名称的第一字符串资源;
[0026]第一检测模块,用于检测所述第一字符串资源的长度是否大于预定阈值;
[0027]处理模块,用于若所述第一检测模块的检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0028]优选的,所述处理模块,包括:
[0029]判断单元,用于在构建所述目标窗口对应的应用程序时,判断所述第一字符串资源是否还被引用为非窗口名称;
[0030]第一提取单元,用于若所述判断单元的判断结果为所述第一字符串资源还被引用为非窗口名称,则从所述第一字符串资源中提取出第一指定长度的字符串,所述第一指定长度小于等于所述预定阈值;
[0031]存储单元,用于将所述第一提取单元提取出的所述字符串存储为第二字符串资源;
[0032]第一修改单元,用于将被所述目标窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0033]优选的,所述处理模块还包括:
[0034]查询单元,用于查询除所述目标窗口之外,其它将所述第一字符串资源引用为窗口名称的各个窗口;
[0035]第二修改单元,用于将被所述各个窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0036]优选的,所述处理模块还包括:
[0037]截短单元,用于若所述判断单元的判断结果为所述第一字符串资源未被引用为非窗口名称,则将所述第一字符串资源截短为第二指定长度,所述第二指定长度小于等于所述预定阈值。
[0038]优选的,所述处理模块,包括:
[0039]第二提取单元,用于在运行所述目标窗口对应的应用程序时,从所述第一字符串资源中提取出第三指定长度的字符串,所述第三指定长度小于等于所述预定阈值;
[0040]显示单元,用于将所述第二提取单元提取出的所述字符串显示为所述目标窗口的窗口名称。
[0041]第三方面,提供了一种电子设备,所述电子设备包括:
[0042]处理器;
[0043]用于存储所述处理器可执行指令的存储器;
[0044]其中,所述处理器被配置为:
[0045]确定被目标窗口引用为窗口名称的第一字符串资源;
[0046]检测所述第一字符串资源的长度是否大于预定阈值;
[0047]若检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0048]本公开实施例提供的技术方案可以带来以下有益效果:
[0049]通过在检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值时,对目标窗口的窗口名称做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0050]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

【专利附图】

【附图说明】
[0051]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0052]图1是根据一示例性实施例示出的一种窗口名称处理方法的流程图;
[0053]图2是根据另一示例性实施例示出的一种窗口名称处理方法的流程图;
[0054]图3是根据又一示例性实施例示出的一种窗口名称处理方法的流程图;
[0055]图4是根据再一示例性实施例示出的一种窗口名称处理方法的流程图;
[0056]图5是根据一不例性实施例不出的一种窗口名称处理装置的不意图;
[0057]图6是根据另一示例性实施例示出的一种窗口名称处理装置的示意图;
[0058]图7是根据又一示例性实施例示出的一种窗口名称处理装置的示意图;
[0059]图8是根据一示例性实施例示出的一种电子设备的框图;
[0060]图9是根据另一示例性实施例示出的一种电子设备的框图。

【具体实施方式】
[0061]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的设备和方法的例子。
[0062]图1是根据一示例性实施例示出的一种窗口名称处理方法的流程图,如图1所示,该窗口名称处理方法可以用于控制应用程序的窗口名称的长度。该窗口名称处理方法可以包括以下步骤:
[0063]在步骤102中,确定被目标窗口引用为窗口名称的第一字符串资源;
[0064]在步骤104中,检测该第一字符串资源的长度是否大于预定阈值;
[0065]在步骤106中,若检测结果为该第一字符串资源的长度大于该预定阈值,则对该目标窗口的窗口名称做截短处理。
[0066]综上所述,本示例性实施例示出的窗口名称处理方法,通过在检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值时,对目标窗口的窗口名称做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0067]上述图1对应的示例性实施例所示的方案,可以应用于在开发者用户构建应用程序时,对应用程序的窗口的名称进行处理,也可以应用于在使用者用户运行应用程序时,对应用程序的窗口的名称进行处理。本公开下述示例性实施例将分别对这两种情形进行描述。
[0068]图2是根据另一示例性实施例示出的一种窗口名称处理方法的流程图,如图2所示,该窗口名称处理方法可以应用于在开发者用户构建应用程序时控制应用程序的窗口名称的长度。该窗口名称处理方法可以包括以下步骤:
[0069]在步骤202中,在构建目标窗口对应的应用程序时,确定被目标窗口引用为窗口名称的第一字符串资源;
[0070]以安卓系统(Android)中的应用程序开发为例,开发人员使用SDK (SoftwareDevelopment Kit,软件开发工具包)在开发者设备(比如安装该SDK的个人电脑)中构建应用程序时,为该应用程序的各个窗口指定各自对应的字符串资源作为窗口名称的引用。
[0071]应用程序构建完成后,在打包成安装包之前,开发人员可以在SDK开发界面中启用窗口名称处理功能,该功能可以是SDK中源生具有的功能,也可以通过安装特定的插件添加的功能。比如,开发人员选中构建完成的应用程序,点击开发界面中的窗口名称检查按键,SDK根据该应用程序的窗口名称引用代码确定被该应用程序中的目标窗口引用为窗口名称的第一字符串资源。
[0072]在步骤204中,检测该第一字符串资源的长度是否大于预定阈值;
[0073]SDK确定第一字符串资源后,获取第一字符串资源的长度,并将该第一字符串资源的长度与预定阈值进行比较,以检测该目标窗口的名称是否过长。
[0074]比如,SDK确定第一字符串资源后,检测该第一字符串资源的长度是否大于256比特,若是,说明该目标窗口的名称过长,进入步骤206进行下一步的处理。
[0075]其中,该预定阈值可以是预先设置的固定值,也可以由开发者用户自行设置阈值。t匕如,具有窗口名称处理功能的SDK可以提供阈值设置界面,开发者用户可以在该阈值设置界面中设置该预定阈值。
[0076]在步骤206中,若检测结果为该第一字符串资源的长度大于该预定阈值,则判断该第一字符串资源是否还被引用为非窗口名称,若是,进入步骤208,否则,进入步骤210 ;
[0077]在应用程序的开发过程中,同一个字符串资源可以被不同的对象所应用。比如,一个字符串资源被不同的窗口引用为窗口名称;或者,一个字符串资源被一个窗口引用为窗口名称,被另一个页面引用为内容文本。对于上述两种情形,需要分别按照不同的策略进行处理,具体请见步骤208和步骤210。
[0078]在步骤208中,从该第一字符串资源中提取出第一指定长度的字符串,将提取出的该字符串存储为第二字符串资源,将被该目标窗口引用为窗口名称的资源由该第一字符串资源修改为该第二字符串资源;
[0079]其中,该第一指定长度小于等于该预定阈值。
[0080]若该第一字符串资源还被其它对象引用为非窗口名称,则从该第一字符串中提取出第一指定长度的字符串,将提取出的字符串存储为新的字符串资源,并将该新的字符串资源指定为该目标窗口的窗口名称。其中,该新的字符串资源的长度不能大于预定阈值。
[0081]比如,以该预定阈值为256比特,该第一指定长度等于该预定阈值为例。当该第一字符串资源还被引用为非窗口名称时,若将该第一字符串资源截短,则会影响非窗口名称的引用。因此,SDK判断出第一字符串资源还被引用为非窗口名称时,可以将该第一字符串资源中的前256比特的字符提取并存储为第二字符串资源,并将目标窗口的窗口名称的引用修改为引用该第二字符串资源。
[0082]在步骤210中,将该第一字符串资源截短为第二指定长度。
[0083]其中,该第二指定长度小于等于该预定阈值。
[0084]若该第一字符串资源仅被引用为窗口名称,则不需要修改目标窗口的引用关系,将第一字符串资源直接截短即可以控制窗口名称的长度。
[0085]比如,以该预定阈值为256比特,该第一指定长度等于该预定阈值为例。当该第一字符串资源仅被引用为非窗口名称时,可以直接将该第一字符串资源截短,SDK判断出第一字符串资源仅被引用为非窗口名称时,可以不改变目标窗口的窗口名称的引用,而是保留该第一字符串资源中的前256比特,并将其它比特截除。
[0086]综上所述,本示例性实施例示出的窗口名称处理方法,通过在构建目标窗口对应的应用程序时,若检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值,则将该目标窗口的窗口名称引用新生成的字符串资源,或者,对被引用为目标窗口的窗口名称的字符串资源做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0087]图3是根据又一示例性实施例示出的一种窗口名称处理方法的流程图,如图3所示,该窗口名称处理方法可以应用于在开发者用户构建应用程序时控制应用程序的窗口名称的长度。该窗口名称处理方法可以包括以下步骤:
[0088]在步骤302中,在构建目标窗口对应的应用程序时,确定被目标窗口引用为窗口名称的第一字符串资源;
[0089]以安卓系统(Android)中的应用程序开发为例,开发人员使用SDK (SoftwareDevelopment Kit,软件开发工具包)在开发者设备(比如安装该SDK的个人电脑)中构建应用程序时,为该应用程序的各个窗口指定各自对应的字符串资源作为窗口名称的引用。
[0090]应用程序构建完成后,在打包成安装包之前,开发人员可以在SDK开发界面中启用窗口名称处理功能,该功能可以是SDK中源生具有的功能,也可以通过安装特定的插件添加的功能。比如,开发人员选中构建完成的应用程序,点击开发界面中的窗口名称检查按键,SDK根据该应用程序的窗口名称引用代码确定被该应用程序中的目标窗口引用为窗口名称的第一字符串资源。
[0091]在步骤304中,检测该第一字符串资源的长度是否大于预定阈值;
[0092]SDK确定第一字符串资源后,获取第一字符串资源的长度,并将该第一字符串资源的长度与预定阈值进行比较,以检测该目标窗口的名称是否过长。
[0093]比如,SDK确定第一字符串资源后,检测该第一字符串资源的长度是否大于256比特,若是,说明该目标窗口的名称过长,进入步骤306进行下一步的处理。
[0094]其中,该预定阈值可以是预先设置的固定值,也可以由开发者用户自行设置阈值。t匕如,具有窗口名称处理功能的SDK可以提供阈值设置界面,开发者用户可以在该阈值设置界面中设置该预定阈值。
[0095]在步骤306中,若检测结果为该第一字符串资源的长度大于该预定阈值,则判断该第一字符串资源是否还被引用为非窗口名称,若是,进入步骤308,否则,进入步骤312 ;
[0096]在应用程序的开发过程中,同一个字符串资源可以被不同的对象所应用。比如,一个字符串资源被不同的窗口引用为窗口名称;或者,一个字符串资源被一个窗口引用为窗口名称,被另一个页面引用为内容文本。对于上述两种情形,需要分别按照不同的策略进行处理,具体请见步骤308和步骤312。
[0097]在步骤308中,从该第一字符串资源中提取出第一指定长度的字符串,将提取出的该字符串存储为第二字符串资源,将被该目标窗口引用为窗口名称的资源由该第一字符串资源修改为该第二字符串资源;
[0098]其中,该第一指定长度小于等于该预定阈值。
[0099]若该第一字符串资源还被其它对象引用为非窗口名称,则从该第一字符串中提取出第一指定长度的字符串,将提取出的字符串存储为新的字符串资源,并将该新的字符串资源指定为该目标窗口的窗口名称。其中,该新的字符串资源的长度不能大于预定阈值。
[0100]比如,以该预定阈值为256比特,该第一指定长度等于该预定阈值为例。当该第一字符串资源还被引用为非窗口名称时,若将该第一字符串资源截短,则会影响非窗口名称的引用。因此,SDK判断出第一字符串资源还被引用为非窗口名称时,可以将该第一字符串资源中的前256比特的字符提取并存储为第二字符串资源,并将目标窗口的窗口名称的引用修改为引用该第二字符串资源。
[0101]在步骤310中,查询除该目标窗口之外,其它将该第一字符串资源引用为窗口名称的各个窗口,并将被该各个窗口引用为窗口名称的资源由该第一字符串资源修改为该第二字符串资源;
[0102]其中,一个字符串资源可以被多个窗口引用为窗口名称,SDK从该第一字符串资源中提取出第一指定长度的字符串,将提取出的该字符串存储为第二字符串资源之后,还可以查询将第一字符串资源引用为窗口名称的其它窗口,并将查询到的其它窗口的窗口名称的引用修改为引用新生成的该第二字符串资源。不需要再对引用同一字符串资源的其它窗口的窗口名称进行单独处理,提高了处理效率。
[0103]在步骤312中,将该第一字符串资源截短为第二指定长度。
[0104]其中,该第二指定长度小于等于该预定阈值。
[0105]若该第一字符串资源仅被引用为窗口名称,则不需要修改目标窗口的引用关系,将第一字符串资源直接截短即可以控制窗口名称的长度。
[0106]比如,以该预定阈值为256比特,该第一指定长度等于该预定阈值为例。当该第一字符串资源仅被引用为非窗口名称时,可以直接将该第一字符串资源截短,SDK判断出第一字符串资源仅被引用为非窗口名称时,可以不改变目标窗口的窗口名称的引用,而是保留该第一字符串资源中的前256比特,并将其它比特截除。
[0107]综上所述,本示例性实施例示出的窗口名称处理方法,通过在构建目标窗口对应的应用程序时,若检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值,则将该目标窗口的窗口名称引用新生成的字符串资源,或者,对被引用为目标窗口的窗口名称的字符串资源做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0108]此外,本示例性实施例示出的窗口名称处理方法,通过从该第一字符串资源中提取出第一指定长度的字符串,将提取出的该字符串存储为第二字符串资源后,查询除目标窗口之外,其它将该第一字符串资源引用为窗口名称的各个窗口,并将被该各个窗口引用为窗口名称的资源由该第一字符串资源修改为该第二字符串资源,不需要再对引用同一字符串资源的其它窗口的窗口名称进行单独处理,达到提高处理效率的效果。
[0109]图4是根据再一示例性实施例示出的一种窗口名称处理方法的流程图,如图4所示,该窗口名称处理方法可以应用于在使用者设备运行应用程序时控制应用程序的窗口名称的长度,该使用者设备可以是智能手机、平板电脑、电子书阅读器以及智能电视等电子设备。该窗口名称处理方法可以包括以下步骤:
[0110]在步骤402中,在运行目标窗口对应的应用程序时,确定被目标窗口引用为窗口名称的第一字符串资源;
[0111]以运行安卓系统智能手机为例,使用者用户在智能手机中运行一应用程序以打开该应用程序的窗口时,智能手机的系统后台根据该应用程序的窗口名称引用代码确定被该窗口引用为窗口名称的第一字符串资源。
[0112]在步骤404中,检测该第一字符串资源的长度是否大于预定阈值;
[0113]系统后台确定第一字符串资源后,获取第一字符串资源的长度,并将该第一字符串资源的长度与预定阈值进行比较,以检测该窗口的名称是否过长。
[0114]比如,系统后台确定第一字符串资源后,检测该第一字符串资源的长度是否大于256比特,若是,说明该窗口的名称过长,按照步骤406进行处理。
[0115]其中,该预定阈值可以是预先设置的固定值,也可以由使用者用户自行设置阈值。比如,具有系统设置界面可以提供阈值设置选项,开发者用户点击该选项进入阈值设置界面,并在该页面中设置该预定阈值,比如,使用者用户可以将窗口名称的长度上限设置为128比特、64比特或者32比特等。
[0116]在步骤406中,若检测结果为该第一字符串资源的长度大于该预定阈值,则从该第一字符串资源中提取出第三指定长度的字符串,并将提取出的该字符串显示为该目标窗口的窗口名称。
[0117]其中,该第三指定长度小于等于该预定阈值。
[0118]比如,以该预定阈值为256比特,该第三指定长度也为256比特为例,若系统后台检测出该第一字符串资源的长度大于256比特,则将该第一字符串资源的前256比特的字符提取并显示为对应的窗口名称。若系统后台检测出该第一字符串资源的长度不大于256比特,则将该第一字符串资源中的所有字符显示为对应的窗口名称。
[0119]其中,本示例性实施例提供的方法中,系统后台还可以检测该第一字符串资源的长度是否大于第四指定长度,该第四指定长度大于该预定阈值;若检测结果为该第一字符串资源的长度大于该第四指定长度,则系统后台向用户显示提示信息,该提示信息用于提示用户当前应用程序存在安全风险。
[0120]以安卓系统为例,安卓系统中一个DoS(Denial of Service,拒绝服务)漏洞为:当应用程序的窗口名称过长(超过38万字节)时,系统在显示该应用窗口的时候会崩溃并重启。这一漏洞可以被恶意程序利用,影响系统的正常运行。本示例性实施例提供的方法,当检测出一应用程序的窗口名称过长,比如超过IW比特时,可以提示用户该应用程序可能是恶意程序,避免恶意程序利用DoS漏洞,提高系统的安全性。
[0121]综上所述,本示例性实施例示出的窗口名称处理方法,通过在运行目标窗口对应的应用程序时,若检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值,则从该字符串资源中提取出部分字符串显示为窗口名称,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0122]此外,本示例性实施例示出的窗口名称处理方法,检测该第一字符串资源的长度是否大于第四指定长度,若检测结果为该第一字符串资源的长度大于该第四指定长度,则系统后台向用户显示提示信息,对窗口名称过长的应用程序进行安全提示,避免DoS漏洞被恶意程序利用,达到提高系统安全性的效果。
[0123]图5是根据一示例性实施例示出的一种窗口名称处理装置的示意图,如图5所示,该窗口名称处理装置可以用于控制应用程序的窗口名称的长度。该窗口名称处理装置可以包括:确定模块501、第一检测模块502以及处理模块503 ;
[0124]所述确定模块501被设置为用于确定被目标窗口引用为窗口名称的第一字符串资源;
[0125]所述第一检测模块502被设置为用于检测所述第一字符串资源的长度是否大于预定阈值;
[0126]所述处理模块503被设置为用于若所述第一检测模块502的检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0127]综上所述,本示例性实施例示出的窗口名称处理装置,通过在检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值时,对目标窗口的窗口名称做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0128]图6是根据另一示例性实施例示出的一种窗口名称处理装置的示意图,如图6所示,该窗口名称处理装置可以用于执行如图1、图2或者图3任一所示的方法。该窗口名称处理装置可以用于开发者设备中,该开发者设备可以是个人电脑等。该窗口名称处理装置可以包括:确定模块601、第一检测模块602以及处理模块603 ;
[0129]所述确定模块601被设置为用于确定被目标窗口引用为窗口名称的第一字符串资源;
[0130]所述第一检测模块602被设置为用于检测所述第一字符串资源的长度是否大于预定阈值;
[0131]所述处理模块603被设置为用于若所述第一检测模块602的检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0132]所述处理模块603,包括:判断单元603a、第一提取单元603b、存储单元603c以及第一修改单元603d ;
[0133]所述判断单元603a被设置为用于在构建所述目标窗口对应的应用程序时,判断所述第一字符串资源是否还被引用为非窗口名称;
[0134]所述第一提取单元603b被设置为用于若所述判断单元603a的判断结果为所述第一字符串资源还被引用为非窗口名称,则从所述第一字符串资源中提取出第一指定长度的字符串,所述第一指定长度小于等于所述预定阈值;
[0135]所述存储单元603c被设置为用于将所述第一提取单元603b提取出的所述字符串存储为第二字符串资源;
[0136]所述第一修改单元603d被设置为用于将被所述目标窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0137]所述处理模块603还包括:查询单元603e和第二修改单元603f ;
[0138]所述查询单元603e被设置为用于查询除所述目标窗口之外,其它将所述第一字符串资源引用为窗口名称的各个窗口;
[0139]所述第二修改单元603f被设置为用于将被所述各个窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
[0140]所述处理模块603还包括:截短单元603g ;
[0141]所述截短单元603g被设置为用于若所述判断单元603a的判断结果为所述第一字符串资源未被引用为非窗口名称,则将所述第一字符串资源截短为第二指定长度,所述第二指定长度小于等于所述预定阈值。
[0142]综上所述,本示例性实施例示出的窗口名称处理装置,通过在构建目标窗口对应的应用程序时,若检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值,则将该目标窗口的窗口名称引用新生成的字符串资源,或者,对被引用为目标窗口的窗口名称的字符串资源做截短处理,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0143]此外,本示例性实施例示出的窗口名称处理装置,通过从该第一字符串资源中提取出第一指定长度的字符串,将提取出的该字符串存储为第二字符串资源后,查询除目标窗口之外,其它将该第一字符串资源引用为窗口名称的各个窗口,并将被该各个窗口引用为窗口名称的资源由该第一字符串资源修改为该第二字符串资源,不需要再对引用同一字符串资源的其它窗口的窗口名称进行单独处理,达到提高处理效率的效果。
[0144]图7是根据又一不例性实施例不出的一种窗口名称处理装置的不意图,如图7所示,该窗口名称处理装置可以用于执行如图1或者图4所示的方法。该窗口名称处理装置可以用于使用者设备中,该使用者设备可以是智能手机、平板电脑、电子书阅读器以及智能电视等电子设备。该窗口名称处理装置可以包括:确定模块701、第一检测模块702以及处理模块703 ;
[0145]所述确定模块701被设置为用于确定被目标窗口引用为窗口名称的第一字符串资源;
[0146]所述第一检测模块702被设置为用于检测所述第一字符串资源的长度是否大于预定阈值;
[0147]所述处理模块703被设置为用于若所述第一检测模块702的检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
[0148]所述处理模块703,包括:第二提取单元703a以及显示单元703b ;
[0149]所述第二提取单元703a被设置为用于在运行所述目标窗口对应的应用程序时,从所述第一字符串资源中提取出第三指定长度的字符串,所述第三指定长度小于等于所述预定阈值;
[0150]所述显示单元703b被设置为用于将所述第二提取单元703a提取出的所述字符串显示为所述目标窗口的窗口名称。
[0151]所述装置,还包括:第二检测模块704和提示模块705。
[0152]所述第二检测模块704被设置为检测该第一字符串资源的长度是否大于第四指定长度,该第四指定长度大于该预定阈值;
[0153]所述提示模块705被设置为若所述第二检测模块704的检测结果为该第一字符串资源的长度大于该第四指定长度,则系统后台向用户显示提示信息,该提示信息用于提示用户当前应用程序存在安全风险。
[0154]综上所述,本示例性实施例示出的窗口名称处理装置,通过在运行目标窗口对应的应用程序时,若检测出被引用为目标窗口的窗口名称的字符串资源长度大于预定阈值,则从该字符串资源中提取出部分字符串显示为窗口名称,解决了相关技术中当窗口名称所引用的字符串过长时占用过多的处理资源导致的系统性能下降甚至崩溃的问题,达到提高系统性能的效果。
[0155]此外,本示例性实施例示出的窗口名称处理装置,检测该第一字符串资源的长度是否大于第四指定长度,若检测结果为该第一字符串资源的长度大于该第四指定长度,则系统后台向用户显示提示信息,对窗口名称过长的应用程序进行安全提示,避免DoS漏洞被恶意程序利用,达到提高系统安全性的效果。
[0156]图8是根据一不例性实施例不出的一种电子设备的框图。该电子设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units, CPU) 822 (例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830 (例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对电子设备中的一系列指令操作,这一系列的指令操作可以用于实现如图1、图2或者图3任一所示方法的全部或部分步骤。更进一步地,中央处理器822可以设置为与存储介质830通信,在电子设备器800上执行存储介质830中的一系列指令操作。
[0157]电子设备800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口 850,一个或一个以上输入输出接口 858,一个或一个以上键盘856,和/或,一个或一个以上操作系统 841,例如 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM
坐坐寸寸ο
[0158]图9是根据另一不例性实施例不出的一种电子设备900的框图。例如,电子设备900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0159]参照图9,电子设备900可以包括以下一个或多个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口 912,传感器组件914,以及通信组件916。
[0160]处理组件902通常控制电子设备900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
[0161]存储器904被配置为存储各种类型的数据以支持在电子设备900的操作。这些数据的示例包括用于在电子设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储器904中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器920执行,以完成上述图1或者图4所示方法的全部或部分步骤。
[0162]电源组件906为电子设备900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为电子设备900生成、管理和分配电力相关联的组件。
[0163]多媒体组件908包括在所述电子设备900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当电子设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0164]音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当电子设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
[0165]I/O接口 912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0166]传感器组件914包括一个或多个传感器,用于为电子设备900提供各个方面的状态评估。例如,传感器组件914可以检测到电子设备900的打开/关闭状态,组件的相对定位,例如所述组件为电子设备900的显示器和小键盘,传感器组件914还可以检测电子设备900或电子设备900的一个组件的位置改变,用户与电子设备900接触的存在或不存在,电子设备900方位或加速/减速和电子设备900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CXD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0167]通信组件916被配置为便于电子设备900和其他设备之间有线或无线方式的通信。电子设备900可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0168]在示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSro)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0169]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由电子设备900的处理器920执行以完成上述方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0170]本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本【技术领域】中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0171]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【权利要求】
1.一种窗口名称处理方法,其特征在于,所述方法包括: 确定被目标窗口引用为窗口名称的第一字符串资源; 检测所述第一字符串资源的长度是否大于预定阈值; 若检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于构建所述目标窗口对应的应用程序时; 所述对所述目标窗口的窗口名称做截短处理,包括: 判断所述第一字符串资源是否还被引用为非窗口名称; 若判断结果为所述第一字符串资源还被引用为非窗口名称,则从所述第一字符串资源中提取出第一指定长度的字符串,所述第一指定长度小于等于所述预定阈值; 将提取出的所述字符串存储为第二字符串资源; 将被所述目标窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
3.根据权利要求2 所述的方法,其特征在于,所述方法还包括: 查询除所述目标窗口之外,其它将所述第一字符串资源引用为窗口名称的各个窗口 ;将被所述各个窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括: 若判断结果为所述第一字符串资源未被引用为非窗口名称,则将所述第一字符串资源截短为第二指定长度,所述第二指定长度小于等于所述预定阈值。
5.根据权利要求1所述的方法,其特征在于,所述方法应用于运行所述目标窗口对应的应用程序时; 所述对所述目标窗口的窗口名称做截短处理,包括: 从所述第一字符串资源中提取出第三指定长度的字符串,所述第三指定长度小于等于所述预定阈值; 将提取出的所述字符串显示为所述目标窗口的窗口名称。
6.一种窗口名称处理装置,其特征在于,所述装置包括: 确定模块,用于确定被目标窗口引用为窗口名称的第一字符串资源; 第一检测模块,用于检测所述第一字符串资源的长度是否大于预定阈值; 处理模块,用于若所述第一检测模块的检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,包括: 判断单元,用于在构建所述目标窗口对应的应用程序时,判断所述第一字符串资源是否还被引用为非窗口名称; 第一提取单元,用于若所述判断单元的判断结果为所述第一字符串资源还被引用为非窗口名称,则从所述第一字符串资源中提取出第一指定长度的字符串,所述第一指定长度小于等于所述预定阈值; 存储单元,用于将所述第一提取单元提取出的所述字符串存储为第二字符串资源;第一修改单元,用于将被所述目标窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
8.根据权利要求7所述的装置,其特征在于,所述处理模块还包括: 查询单元,用于查询除所述目标窗口之外,其它将所述第一字符串资源引用为窗口名称的各个窗口; 第二修改单元,用于将被所述各个窗口引用为窗口名称的资源由所述第一字符串资源修改为所述第二字符串资源。
9.根据权利要求7所述的 装置,其特征在于,所述处理模块还包括: 截短单元,用于若所述判断单元的判断结果为所述第一字符串资源未被引用为非窗口名称,则将所述第一字符串资源截短为第二指定长度,所述第二指定长度小于等于所述预定阈值。
10.根据权利要求6所述的装置,其特征在于,所述处理模块,包括: 第二提取单元,用于在运行所述目标窗口对应的应用程序时,从所述第一字符串资源中提取出第三指定长度的字符串,所述第三指定长度小于等于所述预定阈值; 显示单元,用于将所述第二提取单元提取出的所述字符串显示为所述目标窗口的窗口名称。
11.一种电子设备,其特征在于,所述电子设备包括: 处理器; 用于存储所述处理器可执行指令的存储器; 其中,所述处理器被配置为: 确定被目标窗口引用为窗口名称的第一字符串资源; 检测所述第一字符串资源的长度是否大于预定阈值; 若检测结果为所述第一字符串资源的长度大于所述预定阈值,则对所述目标窗口的窗口名称做截短处理。
【文档编号】G06F3/0481GK104077130SQ201410258491
【公开日】2014年10月1日 申请日期:2014年6月11日 优先权日:2014年6月11日
【发明者】乜聚虎, 张扬 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1