亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種查找類的方法和裝置與流程

文檔序號:11949649閱讀:204來源:國知局
一種查找類的方法和裝置與流程

本公開是關(guān)于電子技術(shù)領(lǐng)域,尤其是關(guān)于一種查找類的方法和裝置。



背景技術(shù):

隨著電子技術(shù)的發(fā)展,各種各樣的終端得到了廣泛的應(yīng)用,相應(yīng)的終端上的應(yīng)用程序的種類越來越多、功能越來越豐富。

目前,應(yīng)用程序包含有主程序和插件程序,其中,主程序的類庫中和插件程序的類庫中都會包含有一些本身需要加載的類,其中,類是計算機程序中可以實現(xiàn)某種操作的數(shù)據(jù)類型。目前,采用java語言編寫的程序(比如安卓系統(tǒng))是根據(jù)類名查找需要加載的類的類數(shù)據(jù),進而,基于類數(shù)據(jù)對需要加載的類進行加載,其中,加載過程是:首先在最頂級程序的類庫中查找需要加載的類的類數(shù)據(jù),如果查找到,則查找結(jié)束并對需要加載的類進行加載,如果未查找到,再在下一級程序的類庫中查找需要加載的類的類數(shù)據(jù),如果查找到,則查找結(jié)束并對需要加載的類進行加載,如果未查找到,則按照上述方法向下逐級查找需要加載的類的類數(shù)據(jù),直到查找到為止。例如,對于安卓系統(tǒng)而言,假設(shè)包括三級程序,分別是系統(tǒng)程序、應(yīng)用程序的主程序、插件程序,其中,系統(tǒng)程序是應(yīng)用程序的主程序和插件程序的上級程序,應(yīng)用程序的主程序是插件程序的上級程序,當插件需要加載類(可以稱需要加載的類為目標類)時,首先在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),若找到的話,查找結(jié)束并對目標類進行加載,若沒有,再在應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù),若找到的話,查找結(jié)束并對目標類進行加載,若沒有,再在插件程序的類庫中查找目標類的類數(shù)據(jù),對目標類進行加載。

在實現(xiàn)本公開的過程中,發(fā)明人發(fā)現(xiàn)至少存在以下問題:

當應(yīng)用程序的主程序的類庫和插件程序的類庫中包含相同類名,但類數(shù)據(jù)不同的類(比如兩者的版本不同,或者執(zhí)行的功能不同),且插件需要加載的是插件程序的類庫中的類時,基于上述查找類的方法,插件加載的將會是主程序的類庫中的類,從而,導致程序無法正常運行。



技術(shù)實現(xiàn)要素:

為了克服相關(guān)技術(shù)中存在的問題,本公開提供了一種查找類的方法和裝置。所述技術(shù)方案如下:

根據(jù)本公開實施例的第一方面,提供了一種查找類的方法,所述方法包括:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

如果在所述目標程序的類庫中查找到所述目標類的類數(shù)據(jù),則基于所述目標類的類數(shù)據(jù),對所述目標類進行加載,如果在所述目標程序的類庫中未查找到所述目標類的類數(shù)據(jù),則在所述目標程序的上級程序的類庫中查找所述目標類的類數(shù)據(jù),基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述目標程序為應(yīng)用程序的插件程序,所述上級程序為所述應(yīng)用程序的主程序和系統(tǒng)程序。

這樣,當應(yīng)用程序的插件程序的類庫中與主程序的類庫中包含相同類名而類數(shù)據(jù)不同的類,且插件需要加載的是插件程序的類庫中的類時,可以優(yōu)先查找到插件程序的類庫中的類,從而,可以防止插件程序無法正常運行。

可選的,所述在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù),包括:

如果所述目標類為非系統(tǒng)類,則在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

所述方法還包括:

如果所述目標類為系統(tǒng)類,則在系統(tǒng)程序的類庫中查找所述目標類的類數(shù)據(jù);

基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

這樣,當目標程序加載的目標類為系統(tǒng)類時,可以直接在系統(tǒng)程序的類庫中查找,可以防止目標程序也包含該目標類時,加載錯誤的類。

可選的,所述方法還包括:

當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器;

所述當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù),包括:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,通過所述當前可用的類加載器在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù)。

可選的,所述當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器,包括:

當接收到所述目標程序的加載指令時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器。

根據(jù)本公開實施例的第二方面,提供了一種查找類的裝置,所述裝置包括:

查找模塊,用于當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

加載模塊,用于如果在所述目標程序的類庫中查找到所述目標類的類數(shù)據(jù),則基于所述目標類的類數(shù)據(jù),對所述目標類進行加載,如果在所述目標程序的類庫中未查找到所述目標類的類數(shù)據(jù),則在所述目標程序的上級程序的類庫中查找所述目標類的類數(shù)據(jù),基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述目標程序為應(yīng)用程序的插件程序,所述上級程序為所述應(yīng)用程序的主程序和系統(tǒng)程序。

可選的,所述查找模塊,用于:

如果所述目標類為非系統(tǒng)類,則在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

所述查找模塊,還用于:

如果所述目標類為系統(tǒng)類,則在系統(tǒng)程序的類庫中查找所述目標類的類數(shù)據(jù);

所述加載模塊,還用于:

基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述裝置還包括:

設(shè)置模塊,用于當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器;

所述查找模塊,用于:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,通過所述當前可用的類加載器在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù)。

可選的,所述設(shè)置模塊,用于:

當接收到所述目標程序的加載指令時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器。

根據(jù)本公開實施例的第三方面,提供了一種查找類的裝置,包括:

處理器;

用于存儲處理器可執(zhí)行指令的存儲器;

其中,所述處理器被配置為:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

如果在所述目標程序的類庫中查找到所述目標類的類數(shù)據(jù),則基于所述目標類的類數(shù)據(jù),對所述目標類進行加載,如果在所述目標程序的類庫中未查找到所述目標類的類數(shù)據(jù),則在所述目標程序的上級程序的類庫中查找所述目標類的類數(shù)據(jù),基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

本公開的實施例提供的技術(shù)方案可以包括以下有益效果:

本公開實施例中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以優(yōu)先在目標程序的類庫中查找目標類的類數(shù)據(jù),如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則可以對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則可以再在目標程序的上級程序的類庫中查找,這樣,當目標程序需要加載的類是自身的類庫中包含的類時,首先找到的是目標程序的類庫中的類,從而,可以防止程序無法正常運行。

應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。

附圖說明

此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。在附圖中:

圖1是根據(jù)一示例性實施例示出的一種查找類的方法的流程圖;

圖2(a)是根據(jù)一示例性實施例示出的一種查找順序示意圖;

圖2(b)是根據(jù)一示例性實施例示出的一種查找順序示意圖;

圖3是根據(jù)一示例性實施例示出的一種查找類的裝置的示意圖;

圖4是根據(jù)一示例性實施例示出的一種查找類的裝置的示意圖;

圖5是根據(jù)一示例性實施例示出的一種終端的結(jié)構(gòu)示意圖。

通過上述附圖,已示出本公開明確的實施例,后文中將有更詳細的描述。這些附圖和文字描述并不是為了通過任何方式限制本公開構(gòu)思的范圍,而是通過參考特定實施例為本領(lǐng)域技術(shù)人員說明本公開的概念。

具體實施方式

這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。

本公開一示例性實施例提供了一種查找類的方法,如圖1所示,該方法的處理流程可以包括如下的步驟:

在步驟101中,當接收到目標程序?qū)δ繕祟惖募虞d指令時,在目標程序的類庫中查找目標類的類數(shù)據(jù)。

其中,目標類可以是目標程序即將加載的類,目標程序可以是終端中的某程序,可以是應(yīng)用程序的主程序,也可以是應(yīng)用程序的插件程序,類數(shù)據(jù)可以是目標類包含的數(shù)據(jù),可以是對應(yīng)的目標類的代碼。

在實施中,目標程序在運行的過程中,需要不斷的加載類,當終端接收到目標程序?qū)δ愁?可以稱為目標類)的加載指令時,可以在目標程序的類庫中查找目標類的類數(shù)據(jù),其中,目標程序的類庫可以是終端向服務(wù)器下載目標程序的安裝包時得到的,目標程序的安裝包中包含有目標程序的類庫。

在步驟102中,如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則基于目標類的類數(shù)據(jù),對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則在目標程序的上級程序的類庫中查找目標類的類數(shù)據(jù),基于目標類的類數(shù)據(jù),對目標類進行加載。

在實施中,當目標程序加載的目標類為目標程序的類庫中的類時,終端即會在目標程序的類庫中查找到目標類的類數(shù)據(jù),此種情況下,終端可以基于查找到的目標類的類數(shù)據(jù),對目標類進行加載。當目標程序加載的目標類不是目標程序的類庫中的類時,終端即不會在目標程序的類庫中查找到目標類的類數(shù)據(jù),此種情況下,終端可以再在目標程序的上級程序的類庫中查找目標類的類數(shù)據(jù),查找到時,可以基于查找到的目標類的類數(shù)據(jù),對目標類進行加載。當目標程序為應(yīng)用程序的插件程序時,目標程序的上級程序可以為應(yīng)用程序的主程序和系統(tǒng)程序。針對此種情況,如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),則可以在系統(tǒng)程序和應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù)。具體的,具體查找順序可以分為兩種情況,情況一:如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),終端可以優(yōu)先在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),如果查找到了,則查找結(jié)束,并對目標類進行加載,如果沒有查找到,則可以在應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù),并對查找到的目標類進行加載;情況二:如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),終端可以優(yōu)先在應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù),如果查找到了,則查找結(jié)束,并對目標類進行加載,如果沒有查找到,則可以在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),并對查找到的目標類進行加載。

本公開實施例中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以優(yōu)先在目標程序的類庫中查找目標類的類數(shù)據(jù),如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則可以對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則可以再在目標程序的上級程序的類庫中查找,這樣,當目標程序需要加載的類是自身的類庫中包含的類時,首先找到的是目標程序的類庫中的類,從而,可以防止程序無法正常運行。

本公開另一示例性實施例提供了一種查找類的方法,該方法可以用于終端中,其中,終端可以是手機、平板電腦等移動終端。該終端中可以設(shè)置有處理器、存儲器,處理器可以用于根據(jù)預設(shè)的查找順序查找目標類,以及對查找到的目標類進行加載的相關(guān)處理,存儲器可以用于存儲下述處理過程中需要和產(chǎn)生的數(shù)據(jù)。

下面將結(jié)合實施方式,對圖1所示的處理流程進行詳細的說明,內(nèi)容可以如下:

在步驟101中,當接收到目標程序?qū)δ繕祟惖募虞d指令時,在目標程序的類庫中查找目標類的類數(shù)據(jù)。

其中,目標類可以是目標程序即將加載的類,目標程序可以是終端中的某程序,可以是應(yīng)用程序的主程序,也可以是應(yīng)用程序的插件程序,類數(shù)據(jù)可以是目標類包含的數(shù)據(jù),可以是對應(yīng)的目標類的代碼。

在實施中,目標程序在運行的過程中,需要不斷的加載類,當終端接收到目標程序?qū)δ愁?可以稱為目標類)的加載指令時,可以在目標程序的類庫中查找目標類的類數(shù)據(jù),其中,目標程序的類庫可以是終端向服務(wù)器下載目標程序的安裝包時得到的,目標程序的安裝包中包含有目標程序的類庫。

可選的,當終端接收到目標程序?qū)δ繕祟惖募虞d指令時,可以先判斷目標類是否為系統(tǒng)程序,在確定首先查找的類庫,相應(yīng)的,步驟101的處理過程可以如下:如果目標類為非系統(tǒng)類,則在目標程序的類庫中查找目標類的類數(shù)據(jù);相應(yīng)的,如果目標類為系統(tǒng)類,則在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù);基于目標類的類數(shù)據(jù),對目標類進行加載。

其中,系統(tǒng)類可以是系統(tǒng)程序的類庫中的類。

在實施中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以先根據(jù)目標類的類標識(比如類名)判斷目標類的屬性,即目標類是否是系統(tǒng)類,其中,系統(tǒng)類往往有特有的類標識,然后,根據(jù)目標類的屬性確定查找目標類的類數(shù)據(jù)的類庫。具體的,如果目標類是非系統(tǒng)類,則終端可以在目標程序的類庫中查找目標類的類數(shù)據(jù),如果目標類為系統(tǒng)類,則可以在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),進而,可以基于查找到的類數(shù)據(jù),對目標類進行加載。這樣,當目標程序中存在不規(guī)范的類時,即目標類采用了系統(tǒng)類的標識時,優(yōu)先在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),可以防止查找到目標程序的類庫中包含的目標類,進而,防止程序的運行出現(xiàn)錯誤。

可選的,終端可以通過當前可用的類加載器查找目標類的類數(shù)據(jù),相應(yīng)的,處理過程可以如下:當檢測到為目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器;相應(yīng)的,步驟101的處理過程可以如下:當接收到目標程序?qū)δ繕祟惖募虞d指令時,通過當前可用的類加載器在目標程序的類庫中查找目標類的類數(shù)據(jù)。

其中,類加載器可以用于在程序運行過程按照自身的查找順序查找需要加載的類。

在實施中,終端中可以預先存儲有目標程序的程序級別對應(yīng)的類加載器,以便在目標程序加載類時,可以通過類加載按照其查找類的順序查找需要加載的類。終端中還可以預先存儲有為目標程序分配類加載器的觸發(fā)事件以及檢測周期,終端可以每到檢測周期,對為目標程序分配類加載器的觸發(fā)事件進行檢測,檢測是否發(fā)生,當檢測到為目標程序分配類加載器的觸發(fā)事件發(fā)生時,可以將預先存儲的目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器,其中,當目標程序為插件程序時,目標程序的程序級別對應(yīng)的類加載器可以預先存儲于應(yīng)用程序的主程序的安裝包中,類加載器的查找類的順序可以是由技術(shù)人員預先設(shè)置的。此種情況下,當終端接收到目標程序?qū)δ繕祟惖募虞d指令時,可以通過當前可用的類加載器在目標程序的類庫中查找目標類的類數(shù)據(jù)。這樣,通過改變類加載器查找類的順序,可以使終端優(yōu)先在插件程序的類庫中查找目標類,進而,可以使插件程序優(yōu)先加載自身類庫中的類,可以防止優(yōu)先加載上級程序的類庫中的類,從而,可以防止插件程序無法正常運行。

可選的,觸發(fā)事件可以是目標程序被上級程序加載,相應(yīng)的,處理過程可以如下:當接收到目標程序的加載指令時,將預先存儲的目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器。

在實施中,當目標程序被加載(即目標程序的程序加載目標程序)時,終端將會接收到目標程序的加載指令,進而,可以將預先存儲的目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器,即當目標程序?qū)⒁虞d類時,可以通過當前可用的類加載器查詢目標類的類數(shù)據(jù)。

在步驟102中,如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則基于目標類的類數(shù)據(jù),對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則在目標程序的上級程序的類庫中查找目標類的類數(shù)據(jù),基于目標類的類數(shù)據(jù),對目標類進行加載。

在實施中,當目標程序加載的目標類為目標程序的類庫中的類時,終端即會在目標程序的類庫中查找到目標類的類數(shù)據(jù),此種情況下,終端可以基于查找到的目標類的類數(shù)據(jù),對目標類進行加載。當目標程序加載的目標類不是目標程序的類庫中的類時,終端即不會在目標程序的類庫中查找到目標類的類數(shù)據(jù),此種情況下,終端可以再在目標程序的上級程序的類庫中查找目標類的類數(shù)據(jù),查找到時,可以基于查找到的目標類的類數(shù)據(jù),對目標類進行加載。當目標程序為應(yīng)用程序的插件程序時,目標程序的上級程序可以為應(yīng)用程序的主程序和系統(tǒng)程序。針對此種情況,如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),則可以在系統(tǒng)程序和應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù)。具體的,具體查找順序可以分為兩種情況,情況一:如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),終端可以優(yōu)先在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),如果查找到了,則查找結(jié)束,并對目標類進行加載,如果沒有查找到,則可以在應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù),并對查找到的目標類進行加載;情況二:如果在插件程序的類庫中未查找到目標類的類數(shù)據(jù),終端可以優(yōu)先在應(yīng)用程序的主程序的類庫中查找目標類的類數(shù)據(jù),如果查找到了,則查找結(jié)束,并對目標類進行加載,如果沒有查找到,則可以在系統(tǒng)程序的類庫中查找目標類的類數(shù)據(jù),并對查找到的目標類進行加載。

本公開實施例中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以優(yōu)先在目標程序的類庫中查找目標類的類數(shù)據(jù),如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則可以對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則可以再在目標程序的上級程序的類庫中查找,這樣,當目標程序需要加載的類是自身的類庫中包含的類時,首先找到的是目標程序的類庫中的類,從而,可以防止程序無法正常運行。

本公開又一示例性實施例提供了一種查找類的裝置,如圖3所示,該裝置包括:

查找模塊310,用于當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

加載模塊320,用于如果在所述目標程序的類庫中查找到所述目標類的類數(shù)據(jù),則基于所述目標類的類數(shù)據(jù),對所述目標類進行加載,如果在所述目標程序的類庫中未查找到所述目標類的類數(shù)據(jù),則在所述目標程序的上級程序的類庫中查找所述目標類的類數(shù)據(jù),基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述目標程序為應(yīng)用程序的插件程序,所述上級程序為所述應(yīng)用程序的主程序和系統(tǒng)程序。

可選的,所述查找模塊310,用于:

如果所述目標類為非系統(tǒng)類,則在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

所述查找模塊310,還用于:

如果所述目標類為系統(tǒng)類,則在系統(tǒng)程序的類庫中查找所述目標類的類數(shù)據(jù);

所述加載模塊320,還用于:

基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,如圖4所示,所述裝置還包括:

設(shè)置模塊330,用于當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器;

所述查找模塊310,用于:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,通過所述當前可用的類加載器在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù)。

可選的,所述設(shè)置模塊330,用于:

當接收到所述目標程序的加載指令時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器。

關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。

本公開實施例中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以優(yōu)先在目標程序的類庫中查找目標類的類數(shù)據(jù),如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則可以對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則可以再在目標程序的上級程序的類庫中查找,這樣,當目標程序需要加載的類是自身的類庫中包含的類時,首先找到的是目標程序的類庫中的類,從而,可以防止程序無法正常運行。

需要說明的是:上述實施例提供的查找類的裝置在查找類時,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將終端的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的查找類的裝置與查找類的方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。

本公開再一示例性實施例示出了一種終端的結(jié)構(gòu)示意圖。該終端可以是手機等。

參照圖5,終端500可以包括以下一個或多個組件:處理組件502,存儲器504,電源組件506,多媒體組件508,音頻組件510,輸入/輸出(I/O)的接口512,傳感器組件514,以及通信組件516。

處理組件502通??刂平K端500的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理元件502可以包括一個或多個處理器520來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個或多個模塊,便于處理組件502和其他組件之間的交互。例如,處理部件502可以包括多媒體模塊,以方便多媒體組件508和處理組件502之間的交互。

存儲器504被配置為存儲各種類型的數(shù)據(jù)以支持在終端500的操作。這些數(shù)據(jù)的示例包括用于在終端500上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲器504可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。

電力組件506為終端500的各種組件提供電力。電力組件506可以包括電源管理系統(tǒng),一個或多個電源,及其他與為音頻輸出設(shè)備500生成、管理和分配電力相關(guān)聯(lián)的組件。

多媒體組件508包括在所述終端500和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件508包括一個前置攝像頭和/或后置攝像頭。當終端500處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。

音頻組件510被配置為輸出和/或輸入音頻信號。例如,音頻組件510包括一個麥克風(MIC),當音頻輸出設(shè)備500處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器504或經(jīng)由通信組件516發(fā)送。

I/O接口512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。

傳感器組件514包括一個或多個傳感器,用于為終端500提供各個方面的狀態(tài)評估。例如,傳感器組件514可以檢測到終端500的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為終端500的顯示器和小鍵盤,傳感器組件514還可以檢測終端500或終端500一個組件的位置改變,用戶與終端500接觸的存在或不存在,終端500方位或加速/減速和終端500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件514還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件514還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。

通信組件516被配置為便于終端500和其他設(shè)備之間有線或無線方式的通信。終端500可以接入基于通信標準的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信部件516經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信部件516還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。

在示例性實施例中,終端500可以被一個或多個應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。

在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器504,上述指令可由終端500的處理器520執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。

一種非臨時性計算機可讀存儲介質(zhì),當所述存儲介質(zhì)中的指令由終端的處理器執(zhí)行時,使得終端能夠執(zhí)行查找類的方法,該方法包括:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

如果在所述目標程序的類庫中查找到所述目標類的類數(shù)據(jù),則基于所述目標類的類數(shù)據(jù),對所述目標類進行加載,如果在所述目標程序的類庫中未查找到所述目標類的類數(shù)據(jù),則在所述目標程序的上級程序的類庫中查找所述目標類的類數(shù)據(jù),基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述目標程序為應(yīng)用程序的插件程序,所述上級程序為所述應(yīng)用程序的主程序和系統(tǒng)程序。

可選的,所述在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù),包括:

如果所述目標類為非系統(tǒng)類,則在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù);

所述方法還包括:

如果所述目標類為系統(tǒng)類,則在系統(tǒng)程序的類庫中查找所述目標類的類數(shù)據(jù);

基于所述目標類的類數(shù)據(jù),對所述目標類進行加載。

可選的,所述方法還包括:

當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器;

所述當接收到目標程序?qū)δ繕祟惖募虞d指令時,在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù),包括:

當接收到目標程序?qū)δ繕祟惖募虞d指令時,通過所述當前可用的類加載器在所述目標程序的類庫中查找所述目標類的類數(shù)據(jù)。

可選的,所述當檢測到為所述目標程序分配類加載器的觸發(fā)事件發(fā)生時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器,包括:

當接收到所述目標程序的加載指令時,將預先存儲的所述目標程序的程序級別對應(yīng)的類加載器,設(shè)置為當前可用的類加載器。

本公開實施例中,終端當接收到目標程序?qū)δ繕祟惖募虞d指令時,可以優(yōu)先在目標程序的類庫中查找目標類的類數(shù)據(jù),如果在目標程序的類庫中查找到目標類的類數(shù)據(jù),則可以對目標類進行加載,如果在目標程序的類庫中未查找到目標類的類數(shù)據(jù),則可以再在目標程序的上級程序的類庫中查找,這樣,當目標程序需要加載的類是自身的類庫中包含的類時,首先找到的是目標程序的類庫中的類,從而,可以防止程序無法正常運行。

本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的公開后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。

應(yīng)當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1