本公開涉及計算機技術(shù)領(lǐng)域,特別涉及一種終端中應(yīng)用程序的資源文件加載方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,終端中的應(yīng)用程序越來越豐富?,F(xiàn)有技術(shù)中,各應(yīng)用程序在終端中安裝后,各自的資源文件是相互獨立進行存儲的。應(yīng)用程序運行時,將加載自身資源文件包中的資源文件而實現(xiàn)其特定的功能。
然而,隨著終端中安裝的應(yīng)用程序越來越多,各應(yīng)用程序的資源文件占用終端的存儲也越來越多。已有技術(shù)中,有一些應(yīng)用程序是作為一個系列同時開發(fā)的,例如,此類應(yīng)用程序具有相同的背景色,控制按鍵(button),或者圖片等資源文件,也就是說,已有技術(shù)中部分應(yīng)用程序中關(guān)于公共資源的資源文件存在一定的一致性,因此,按照現(xiàn)有技術(shù)的做法,目前對各應(yīng)用程序的資源文件獨立進行存儲時,導(dǎo)致部分資源文件的重復(fù)存儲,造成終端存儲空間的浪費。
技術(shù)實現(xiàn)要素:
為了解決相關(guān)技術(shù)中存在的各應(yīng)用程序資源文件獨立存儲造成終端存儲空間浪費的技術(shù)問題,本公開提供了一種終端中應(yīng)用程序的資源文件加載方法和裝置。
一方面,本申請?zhí)峁┝艘环N終端中應(yīng)用程序的資源文件加載方法,所述方法包括:
接收第一應(yīng)用程序資源文件加載指令;
如果所述第一應(yīng)用程序具備精簡標識信息,則根據(jù)所述精簡標識信息查找所述終端中向所述第一應(yīng)用程序共享資源文件的第二應(yīng)用程序;其中所述精簡標識信息為在刪除了與所述第二應(yīng)用程序相同的資源文件后的應(yīng)用程序中添加的標識信息;
從所述第二應(yīng)用程序的資源文件包中加載所述第一應(yīng)用程序刪除的資源文件。
另一方面,本申請?zhí)峁┝艘环N終端中應(yīng)用程序的資源文件加載裝置,所述裝置包括:
加載指令接收模塊,用于接收第一應(yīng)用程序資源文件的加載指令;
精簡判斷模塊,用于判斷所述第一應(yīng)用程序是否具備精簡標識信息;
第二應(yīng)用確定模塊,用于如果所述第一應(yīng)用程序具備精簡標識信息,則根據(jù)所述精簡標識信息查找所述終端中向所述第一應(yīng)用程序共享資源文件的第二應(yīng)用程序;其中所述精簡標識信息為在刪除了與所述第二應(yīng)用程序相同的資源文件后的應(yīng)用程序中添加的標識信息;
資源文件加載模塊,用于從所述第二應(yīng)用程序的資源文件包加載所述第一應(yīng)用程序刪除的資源文件。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
終端中,接收第一應(yīng)用程序中資源文件的加載指令,判斷第一應(yīng)用程序是否具備精簡標識信息,如果第一應(yīng)用程序具備精簡標識信息,則確定終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序,從第二應(yīng)用程序的資源文件包加載第一應(yīng)用程序刪除的資源文件。由于具備精簡標識信息的第一應(yīng)用程序進行某些資源文件加載時,在其自身的資源文件包中已將這些資源文件刪除了,將從終端中向其共享資源文件的第二應(yīng)用程序的資源文件包中加載這些被刪除的資源文件,因而第一應(yīng)用程序中無需存儲與第二應(yīng)用程序相同的資源文件,避免了各應(yīng)用程序之間部分資源文件重復(fù)存儲而造成終端存儲空間浪費的問題。
應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并于說明書一起用于解釋本發(fā)明的原理。
圖1A是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載方法的流程圖;
圖1B是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載方法的流程圖;
圖2是根據(jù)另一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載方法的流程圖;
圖3是根據(jù)一示例性實施例示出的一種用于向終端中其它應(yīng)用程序共享資源文件的應(yīng)用程序中資源文件加載方法的流程圖;
圖4是根據(jù)另一示例性實施例示出的一種用于向終端中其它應(yīng)用程序共享資源文件的應(yīng)用程序中資源文件加載方法的流程圖;
圖5是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖;
圖6是根據(jù)另一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖;
圖7是根據(jù)另一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖;
圖8是根據(jù)一示例性實施例示出的一種用于向終端中其它應(yīng)用程序共享資源文件的應(yīng)用程序中資源文件處理裝置的框圖;
圖9是根據(jù)另一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例執(zhí)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
圖1A和圖1B是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載方法的兩種實現(xiàn)流程圖。如圖1A所示,該終端中應(yīng)用程序的資源文件加載方法用于終端中的第一應(yīng)用程序進行資源文件處理,可以包括以下步驟。
在步驟S101中,接收第一應(yīng)用程序資源文件加載指令;
在步驟S102中,如果第一應(yīng)用程序具備精簡標識信息,則根據(jù)精簡標識信息查找終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序;
其中精簡標識信息為在刪除了與第二應(yīng)用程序相同的資源文件后的應(yīng)用程序中添加的標識信息;
在步驟S103中,從第二應(yīng)用程序的資源文件包中加載第一應(yīng)用程序刪除的資源文件。
更具體的,如圖1B所示,該終端中應(yīng)用程序的資源文件加載方法用于終端中的第一應(yīng)用程序進行資源文件處理,還可以通過以下步驟實現(xiàn)。
在步驟S110中,接收第一應(yīng)用程序中資源文件的加載指令。
與步驟S101相似,應(yīng)用程序是安裝于終端中的軟件程序。終端中存在著多種應(yīng)用程序,每一個應(yīng)用程序均有其各自的資源文件。
應(yīng)用程序運行中,通過接收資源文件的加載指令而執(zhí)行資源文件相應(yīng)的操作,從而實現(xiàn)其特定的功能。
下表是根據(jù)一示例性實施例示出的一個應(yīng)用程序的資源文件。
在步驟S120中,判斷第一應(yīng)用程序是否具備精簡標識信息,若為是,則執(zhí)行步驟S130,若為否,則執(zhí)行步驟S160。
當應(yīng)用程序的功能越來越豐富時,其自身資源文件所占的存儲也越來越大,其中包括各種圖片、音頻、視頻等資源文件。
對于不同的應(yīng)用程序,由于不同的應(yīng)用程序具有各自不同的功能特點,因而不同應(yīng)用程序的資源文件存在一定的差別。但是,對于背景色、按鈕等公共資源文件在部分應(yīng)用程序中存在一定的一致性。
在一個示例性實施例中,每一個應(yīng)用程序的資源文件包中包含Manifest文件,該Manifest文件記錄該應(yīng)用程序所在的應(yīng)用程序族。通常地,同一應(yīng)用程序族中的公共資源文件是相同的。
終端中不同的兩個應(yīng)用程序之間,當該兩個應(yīng)用程序存在相同資源文件時,在其中一個應(yīng)用程序中添加精簡標識信息,該添加精簡標識信息的應(yīng)用程序中,相同的資源文件被刪除。
在應(yīng)用程序運行而加載資源文件時,先判斷該應(yīng)用程序是否具備精簡標識信息,當該應(yīng)用程序具備精簡標識信息時,除加載該應(yīng)用程序中已存儲的資源文件外,還需確定向該應(yīng)用程序共享資源文件的應(yīng)用程序,即接收資源文件加載指令的第一應(yīng)用程序中具備精簡標識信息時,確定向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序;若該應(yīng)用程序不具備精簡標識信息,則加載該應(yīng)用程序自身存儲的資源文件包中的資源文件。
在步驟S130中,根據(jù)精簡標識信息查找終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序,。
第二應(yīng)用程序是向第一應(yīng)用程序共享資源文件的應(yīng)用程序。
確定終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序的方式有多種,可以根據(jù)第一應(yīng)用程序中的精簡標識信息,查找第一應(yīng)用程序中的向其共享資源文件的應(yīng)用程序指向信息;也可以在第一應(yīng)用程序所屬的應(yīng)用族中查找向第一應(yīng)用程序共享資源文件的應(yīng)用程序;還可以通過其他的方式確定終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序。
在步驟S140中,從第二應(yīng)用程序的資源文件包加載第一應(yīng)用程序刪除的資源文件。
當?shù)谝粦?yīng)用程序具備精簡標識信息,第一應(yīng)用程序進行資源文件的加載時,除加載自身資源文件包中的資源文件外,還將加載第二應(yīng)用程序向第一應(yīng)用程序共享的資源文件,即在設(shè)置精簡標識時從第一應(yīng)用程序包中刪除的資源文件,該被刪除的資源文件與第二應(yīng)用程序包中的部分資源文件相同,因而第一第二應(yīng)用程序都可以使用第二應(yīng)用程序資源文件包中的應(yīng)用程序,從而保證第一應(yīng)用程序的正常運行。
步驟S160中,加載第一應(yīng)用程序自身資源文件包中的資源文件。
當?shù)谝粦?yīng)用程序不具備精簡標識信息,第一應(yīng)用程序進行資源文件的加載時,將進行自身資源文件包中資源文件的加載。
利用如上所述的方法,在終端中,本方法實施例在接收第一應(yīng)用程序中資源文件的加載指令后,判斷第一應(yīng)用程序是否具備精簡標識信息,如果第一應(yīng)用程序具備精簡標識信息,則確定終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序,從第二應(yīng)用程序的資源文件包加載第一應(yīng)用程序刪除的資源文件。由于具備精簡標識信息的第一應(yīng)用程序進行某些資源文件加載時,在其自身的資源文件包中已將這些資源文件刪除了,將從終端中向其共享資源文件的第二應(yīng)用程序的資源文件包中加載這些被刪除的資源文件,因而第一應(yīng)用程序中無需存儲與第二應(yīng)用程序相同的資源文件,避免了各應(yīng)用程序之間部分資源文件重復(fù)存儲而造成終端存儲空間浪費的問題。
圖2是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載方法流程圖。如圖2所示,圖1中S110步驟之前,該終端中應(yīng)用程序的資源文件加載方法還可以包括以下步驟。
在步驟S210中,針對第一應(yīng)用程序,判斷終端中是否存在預(yù)設(shè)的第二應(yīng)用程序,若為是,則執(zhí)行步驟S220,若為否,則執(zhí)行步驟S310。
預(yù)設(shè)的第二應(yīng)用程序可以是預(yù)先隨機指定的一個應(yīng)用程序;也可以是通過預(yù)設(shè)的方法確定的一個應(yīng)用程序,例如,根據(jù)終端中各應(yīng)用程序的資源文件存儲大小,選取存儲最大的一個應(yīng)用程序作為預(yù)設(shè)的第二應(yīng)用程序;第二應(yīng)用程序還可以是通過其他的方式預(yù)設(shè)的。
判斷終端中是否存在預(yù)設(shè)的第二應(yīng)用程序的方式有多種??梢酝ㄟ^檢查終端中各應(yīng)用程序是否具有設(shè)置向其他應(yīng)用程序共享資源文件的共享信息,從而確定終端中是否存在預(yù)設(shè)的第二應(yīng)用程序;也可以通過檢查各具備精簡標識信息的應(yīng)用程序中的指向信息,確定其指向信息中指示的應(yīng)用程序為預(yù)設(shè)的第二應(yīng)用程序;還可以通過其他的方式確定終端中是否存在預(yù)設(shè)的第二應(yīng)用程序。
在一個具體的示例性實施例中,先查找第一應(yīng)用程序所屬的應(yīng)用程序族,進而在該應(yīng)用程序族中判斷是否存在預(yù)設(shè)的第二應(yīng)用程序。應(yīng)用程序族是同一個系列的應(yīng)用程序集合,同一應(yīng)用程序族中各應(yīng)用程序的功能存在一定的差別,但各應(yīng)用程序通常具有統(tǒng)一的風格,因而各應(yīng)用程序的資源文件之間具有較大程度的一致性。各應(yīng)用程序文件中均有其唯一的標識符,通過標識符判斷各應(yīng)用程序的應(yīng)用程序族。例如,應(yīng)用程序中存儲有manifest文件,根據(jù)manifest文件中的標識符可以判斷第一應(yīng)用程序所屬的應(yīng)用程序族,并根據(jù)應(yīng)用程序族,查找該應(yīng)用程序族中的所有應(yīng)用程序。進而在該應(yīng)用程序族的所有應(yīng)用程序之間,根據(jù)是否存在應(yīng)用程序具有設(shè)置向其他應(yīng)用程序共享資源文件的共享信息,或具備精簡標識信息等方式,判斷是否存在有預(yù)設(shè)的第二應(yīng)用程序。
在步驟S220中,在第一應(yīng)用程序和第二應(yīng)用程序之間進行資源文件的比對,確定第一應(yīng)用程序和第二應(yīng)用程序二者之間相同的資源文件。
可以理解的是,第二應(yīng)用程序的資源文件均存儲在其自身的資源文件包中。
在第一應(yīng)用程序和第二應(yīng)用程序之間進行資源文件的比對,是將第一應(yīng)用程序資源文件包中的資源文件和第二應(yīng)用程序資源文件包中的資源文件逐一進行異同比較,判斷是否存在相同的資源文件。
在步驟S230中,在第一應(yīng)用程序中刪除相同的資源文件,并在第一應(yīng)用程序中添加精簡標識信息。精簡標識信息與第二應(yīng)用程序?qū)?yīng)。
精簡標識信息用于對資源文件部分或全部被刪除的應(yīng)用程序進行標識。通過精簡標識信息,指示應(yīng)用程序在進行資源文件加載時,確定向其共享資源文件的第二應(yīng)用程序,并加載第二應(yīng)用程序向該應(yīng)用程序共享的資源文件。
在步驟S310中,在終端中的所有應(yīng)用程序之間進行資源文件的比對;其目的是獲取各應(yīng)用程序之間資源文件的差異。
當終端中不存在預(yù)設(shè)的第二應(yīng)用程序時,將在終端中確定第二應(yīng)用程序,將第二應(yīng)用程序中的資源文件向終端中除第二應(yīng)用程序之外的其他應(yīng)用程序共享。
各應(yīng)用程序之間資源文件的差異為每兩個應(yīng)用程序之間資源文件的異同。
在步驟S320中,在終端中的所有應(yīng)用程序中確定可向其他應(yīng)用程序共享資源文件最多的應(yīng)用程序作為第二應(yīng)用程序。
需要說明的是,終端中,存在兩個或兩個以上的應(yīng)用程序,在該終端中,將一個應(yīng)用程序作為第二應(yīng)用程序。該終端除第二應(yīng)用程序之外的其他應(yīng)用程序中,刪除與第二應(yīng)用程序相同的資源文件。因此,需在終端中確定第二應(yīng)用程序。
在終端中,根據(jù)各應(yīng)用程序之間資源文件的差異確定共享資源文件的第二應(yīng)用程序的方式有多種??梢葬槍γ恳粋€應(yīng)用程序,獲取其他應(yīng)用程序與該應(yīng)用程序具有相同資源文件的應(yīng)用程序數(shù)量,進而根據(jù)數(shù)量大小確定第二應(yīng)用程序;也可以針對每一個應(yīng)用程序,獲取與其他應(yīng)用程序相同的資源文件大小,根據(jù)總的資源文件大小確定第二應(yīng)用程序;還可以通過其他的方式確定第二應(yīng)用程序。
例如,終端中包括應(yīng)用程序A、應(yīng)用程序B、應(yīng)用程序C,應(yīng)用程序A中包含有資源文件A1、A2、A3、A4,應(yīng)用程序B中包含有資源文件B1、B2、B3,應(yīng)用程序C中包含有資源文件C1、C2。其中,資源文件A1、B1為相同的資源文件,資源文件A2、C2為相同的資源文件。與應(yīng)用程序A具有相同資源文件的應(yīng)用程序為B、C,與應(yīng)用程序B具有相同資源文件的應(yīng)用程序為A,與應(yīng)用程序C具有相同資源文件的應(yīng)用程序為A,根據(jù)與應(yīng)用程序具有相同資源文件的應(yīng)用程序數(shù)量大小,確定應(yīng)用程序A可向其他應(yīng)用程序共享的資源文件最多,確定應(yīng)用程序A為向應(yīng)用程序B、C共享資源文件的第二應(yīng)用程序。
利用如上所述的方法,在終端中,本方法實施例在接收第一應(yīng)用程序中資源文件的加載指令后,判斷第一應(yīng)用程序是否具備精簡標識信息,如果第一應(yīng)用程序具備精簡標識信息,則確定終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序,從第二應(yīng)用程序的資源文件包加載第一應(yīng)用程序刪除的資源文件。由于具備精簡標識信息的第一應(yīng)用程序進行某些資源文件加載時,在其自身的資源文件包中已將這些資源文件刪除了,將從終端中向其共享資源文件的第二應(yīng)用程序的資源文件包中加載這些被刪除的資源文件,因而第一應(yīng)用程序中無需存儲與第二應(yīng)用程序相同的資源文件,避免了各應(yīng)用程序之間部分資源文件重復(fù)存儲而造成終端存儲空間浪費的問題。
進一步的,在解決了資源文件的加載問題后,本實施例的方法還包括:
在步驟S401中,接收第二應(yīng)用程序發(fā)送的資源文件更新指令。
對于第二應(yīng)用程序來說,如果服務(wù)器或者用戶有需要對第二應(yīng)用程序的資源文件進行更新,更新包括增加資源文件、刪除資源文件、修改資源文件等多種情況,第二應(yīng)用程序在對自身的資源文件進行更新前,需要通知第一應(yīng)用程序該更新信息,此時,第一應(yīng)用程序會接受到該更新指令,并執(zhí)行如下的步驟。
在步驟S402中,從第二應(yīng)用程序的資源文件包中獲取第一應(yīng)用程序用于添加精簡標識信息而刪除的資源文件。
可參考前述加載方法的實施例,由于在第二應(yīng)用程序包中存有與第一應(yīng)用程序刪除的資源文件相同的資源文件,由于更新操作會造成資源文件的變化,一種情況下,如果第二應(yīng)用程序把某些資源文件進行刪除操作,這些被刪除的資源文件可能是更新前第一應(yīng)用程序需要加載的內(nèi)容,會導(dǎo)致第一應(yīng)用程序無法加載,嚴重時導(dǎo)致第一應(yīng)用程序無法啟動。
因此,對于第一應(yīng)用程序,在接收到第二應(yīng)用程序發(fā)送的資源文件更新指令后,需要到第二應(yīng)用程序的資源文件包中獲取第一應(yīng)用程序在添加精簡標識信息而刪除的資源文件。
在步驟S403中,向第二應(yīng)用程序發(fā)送資源文件獲取完成指令,資源文件獲取完成指令用于使得第二應(yīng)用程序在接收到指令后確定是否進行資源文件更新。
由于第二應(yīng)用程序向其他應(yīng)用程序共享的內(nèi)容可能不相同,因此,第二應(yīng)用程序需要等待所有第一應(yīng)用程序?qū)Y源文件都添加還原之后,再確定進行資源文件的更新操作。
在步驟S404中,待第二應(yīng)用程序完成更新后,重新判斷與第二應(yīng)用程序相同的資源文件是否有更新。
在步驟S405中,若是,則將更新后與第二應(yīng)用程序相同的資源文件進行刪除。
另一方面,本申請實施例還提供另一種從第二應(yīng)用程序角度出發(fā)進行資源文件更新的方法,如圖3所示,該終端中應(yīng)用程序的資源文件加載方法用于第二應(yīng)用程序進行資源文件處理,第二應(yīng)用程序為向終端中的其它應(yīng)用程序共享資源文件的應(yīng)用程序,該終端中應(yīng)用程序的資源文件加載方法可以包括以下步驟。
在步驟S410中,接收第二應(yīng)用程序的資源文件更新指令。
更新指令用于指示第二應(yīng)用程序進行資源文件的更新。
進行資源文件的更新包括部分資源文件的刪除、資源文件的增加、資源文件的修改等資源文件處理。
在步驟S420中,響應(yīng)資源文件更新指令,獲取第二應(yīng)用程序在更新后和更新前之間資源文件的差異。
當進行資源文件更新的應(yīng)用程序為共享資源文件的第二應(yīng)用程序時,由于終端中具備精簡標識信息的應(yīng)用程序共享第二應(yīng)用程序的資源文件,因此,為避免第二應(yīng)用程序中資源文件的變化對這些應(yīng)用程序造成影響,在進行資源文件更新之前,需先獲取第二應(yīng)用程序在更新后和更新前的差異,以進行差異評估。
第二應(yīng)用程序在更新后和更新前之間資源文件的差異包括更新后增加的資源的文件、刪除的資源文件、修改的資源文件等。
在步驟S430中,根據(jù)差異,確定終端中的其他應(yīng)用程序與第二應(yīng)用程序之間相同的資源文件。
指示更新的應(yīng)用程序不是第二應(yīng)用程序時,其自身資源文件的更新不會對終端中的其他應(yīng)用程序造成影響,因此將該應(yīng)用程序中更新前的資源文件直接替換為更新后的資源文件。在資源文件替換后,根據(jù)替換后的資源文件,重新確定與第二應(yīng)用程序之間相同的資源文件,進而實現(xiàn)與第二應(yīng)用程序之間的資源文件共享。
指示更新的應(yīng)用程序是第二應(yīng)用程序時,需根據(jù)第二應(yīng)用程序更新后和更新前之間的文件差異,重新確定終端中其他應(yīng)用程序與第二應(yīng)用程序之間相同的資源文件。
根據(jù)第二應(yīng)用程序更新后與更新前之間資源文件的差異,及更新前的資源文件,對其他應(yīng)用程序與第二應(yīng)用程序進行資源文件的對比,確定終端中其他應(yīng)用程序與第二應(yīng)用程序之間相同的資源文件。
在步驟S440中,在第二應(yīng)用程序中添加共享信息,共享信息用于將相同的資源文件向其它應(yīng)用程序共享。
在步驟S450中,通過共享信息的添加,將第二應(yīng)用程序中更新前的資源文件替換為更新后的資源文件。
利用如上所述的方法,在進行資源文件更新的應(yīng)用程序為共享資源文件的第二應(yīng)用程序時,對進行資源文件更新之前,獲取第二應(yīng)用程序在更新后與更新前之間資源文件的差異,根據(jù)差異,重新確定終端中其他應(yīng)用程序與第二應(yīng)用程序之間相同的資源文件,進而更新第二應(yīng)用程序向其他應(yīng)用程序共享的資源文件,從而保證了在第二應(yīng)用程序更新后不影響其他應(yīng)用程序的正常運行,保證了資源文件處理的正確性。
進一步的,本實施例的方法還包括:
在步驟S501中,接收第二應(yīng)用程序發(fā)送的資源文件刪除指令。
對于第二應(yīng)用程序來說,如果服務(wù)器或者用戶有需要對第二應(yīng)用程序的資源文件進行刪除,第二應(yīng)用程序在對自身的資源文件進行刪除前,需要通知共享第二應(yīng)用程序中資源文件的應(yīng)用程序,此時,作為共享第二應(yīng)用程序中資源文件的第一應(yīng)用程序會接受到該刪除指令,并執(zhí)行如下的步驟。
在步驟S502中,從第二應(yīng)用程序的資源文件包中獲取第一應(yīng)用程序用于添加精簡標識信息而刪除的資源文件。
可參考前述加載方法的實施例,由于在第二應(yīng)用程序包中存有與第一應(yīng)用程序刪除的資源文件相同的資源文件,由于第二應(yīng)用程序的資源文件刪除操作將會導(dǎo)致第一應(yīng)用程序無法加載,嚴重時導(dǎo)致第一應(yīng)用程序無法啟動。
因此,對于第一應(yīng)用程序,在接收到第二應(yīng)用程序發(fā)送的資源文件刪除指令后,需要到第二應(yīng)用程序的資源文件包中獲取第一應(yīng)用程序在添加精簡標識信息而刪除的資源文件。
在步驟S503中,在獲取被刪除的資源文件后,刪除第一應(yīng)用程序中的精簡標識信息。
由于第二應(yīng)用程序向其他應(yīng)用程序共享的內(nèi)容可能不相同,因此,第二應(yīng)用程序需要等待所有第一應(yīng)用程序?qū)Y源文件都添加還原之后,再確定進行資源文件的刪除操作。
在第一應(yīng)用程序獲取刪除的資源文件后,此時,第一應(yīng)用程序無需共享第二應(yīng)用程序中的資源文件,因此刪除第一應(yīng)用程序中的精簡標識信息。
圖4是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載流程圖。如圖4所示,該終端中應(yīng)用程序的資源文件加載方法還可以包括以下步驟。
在步驟S510中,接收第二應(yīng)用程序發(fā)送的資源文件刪除指令。
資源文件刪除指令用于告訴第一應(yīng)用程序第二應(yīng)用程序會進行資源文件刪除。
在步驟S520中,從第二應(yīng)用程序的資源文件包中獲取第一應(yīng)用程序用于添加精簡標識信息而刪除的資源文件;
也即針對共享第二應(yīng)用程序中資源文件的每一個應(yīng)用程序,將應(yīng)用程序共享的資源文件分別還原給應(yīng)用程序。
當資源文件刪除指令指示第二應(yīng)用程序進行資源文件的刪除時,為避免資源文件刪除而對共享第二應(yīng)用程序中資源文件的應(yīng)用程序造成影響,第二應(yīng)用程序進行資源文件刪除之前,將向終端中其他應(yīng)用程序共享的資源文件還原給相應(yīng)的應(yīng)用程序。
例如,第二應(yīng)用程序A中包含有資源文件A1、A2、A3、A4,其中,第二應(yīng)用程序A將資源文件A1、A2共享給應(yīng)用程序B,將資源文件A1、A3共享給應(yīng)用程序C。當系統(tǒng)或用戶指示第二應(yīng)用程序A進行資源文件刪除時,在對資源文件刪除之前,第二應(yīng)用程序應(yīng)將資源文件A1、A2還原給應(yīng)用程序B,將資源文件A1、A3還原給應(yīng)用程序C。
在步驟S530中,在獲取被刪除的資源文件后,刪除第一應(yīng)用程序中的精簡標識信息。
通過如上所述的方法,當在第二應(yīng)用程序進行資源文件的刪除之前,獲取到第二應(yīng)用程序共享給其他應(yīng)用程序的資源文件,即相應(yīng)地把第二應(yīng)用程序共享的文件還原給其他應(yīng)用程序,避免因第二應(yīng)用程序中資源文件的刪除而對其他應(yīng)用程序造成影響,從而保證了在第二應(yīng)用程序進行資源文件刪除后其他應(yīng)用程序的正常運行。
下述為本公開裝置實施例,可以用于執(zhí)行本上述終端中應(yīng)用程序的資源文件加載方法實施例。對于本公開裝置實施例中未披露的細節(jié),請參照本公開終端中應(yīng)用程序的資源文件加載方法實施例。
圖5是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖,如圖5所示,該終端中應(yīng)用程序的資源文件加載裝置用于終端中的第一應(yīng)用程序進行資源文件處理,該裝置包括但不限于:加載指令接收模塊110、精簡判斷模塊120、第二應(yīng)用確定模塊130以及資源文件加載模塊140。
加載指令接收模塊110,用于接收第一應(yīng)用程序資源文件的加載指令;
精簡判斷模塊120,用于判斷第一應(yīng)用程序是否具備精簡標識信息;
第二應(yīng)用確定模塊130,用于如果第一應(yīng)用程序具備精簡標識信息,則根據(jù)精簡標識信息查找終端中向第一應(yīng)用程序共享資源文件的第二應(yīng)用程序;其中精簡標識信息為在刪除了與第二應(yīng)用程序相同的資源文件后的應(yīng)用程序中添加的標識信息;
資源文件加載模塊140,用于從第二應(yīng)用程序的資源文件包加載第一應(yīng)用程序刪除的資源文件。
上述裝置中各個模塊的功能和作用的實現(xiàn)過程具體詳見上述終端中應(yīng)用程序的資源文件加載方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。
可選的,如圖6所示,該裝置包括但不限于:第二應(yīng)用存在判斷模塊210、資源文件比對模塊220和精簡刪除模塊230。
第二應(yīng)用存在判斷模塊210,用于針對第一應(yīng)用程序,判斷終端中是否存在預(yù)設(shè)的第二應(yīng)用程序;
資源文件比對模塊220,用于在第一應(yīng)用程序和預(yù)設(shè)的第二應(yīng)用程序之間進行資源文件的比對,確定第一應(yīng)用程序和第二應(yīng)用程序二者之間相同的資源文件;
精簡刪除模塊230,用于在第一應(yīng)用程序中刪除相同的資源文件,并在第一應(yīng)用程序中添加與第二應(yīng)用程序?qū)?yīng)的精簡標識信息。
可選的,如圖7所示,終端中不存在預(yù)設(shè)的第二應(yīng)用程序,圖6中的裝置還包括但不限于:差異獲取模塊310和第二應(yīng)用確定模塊330。
差異獲取模塊310,用于在終端中的所有應(yīng)用程序之間進行資源文件的比對;
第二應(yīng)用確定模塊320,根據(jù)差異獲取模塊對比的結(jié)果,在終端中的所有應(yīng)用程序中確定可向其他應(yīng)用程序共享資源文件最多的應(yīng)用程序作為第二應(yīng)用程序。
可選的,圖6中的裝置還包括:
更新接收模塊,用于接收第二應(yīng)用程序發(fā)送的資源文件更新指令;
第一刪除文件獲取模塊,用于從所述第二應(yīng)用程序的資源文件包中獲取所述第一應(yīng)用程序用于添加精簡標識信息而刪除的資源文件;
文件獲取完成指令發(fā)送模塊,用于向所述第二應(yīng)用程序發(fā)送資源文件獲取完成指令,所述資源文件獲取完成指令用于使得所述第二應(yīng)用程序在接收到指令后確定是否進行資源文件更新;
相同資源文件更新確定模塊,用于待第二應(yīng)用程序完成資源文件更新后,重新判斷與更新后的所述第二應(yīng)用程序之間相同的資源文件是否有更新;
相同資源文件刪除模塊,用于若是,則將與更新后的所述第二應(yīng)用程序之間相同的資源文件進行刪除。
可選的,圖6中的裝置還包括:
刪除指令接收模塊,用于接收所述第二應(yīng)用程序發(fā)送的資源文件刪除指令;
第二刪除文件獲取模塊,用于從所述第二應(yīng)用程序的資源文件包中獲取所述第一應(yīng)用程序用于添加精簡標識信息而刪除的資源文件;
精簡標識刪除模塊,用于在獲取所述被刪除的資源文件后,刪除所述第一應(yīng)用程序中的精簡標識信息。
可選的,圖8是根據(jù)一示例性實施例示出的一種終端中應(yīng)用程序的資源文件加載裝置的框圖,用于第二應(yīng)用程序進行資源文件處理,第二應(yīng)用程序向終端中的其它應(yīng)用程序共享資源文件。如圖8所示,該裝置包括但不限于:更新指令接收模塊410、更新差異獲取模塊420、共享文件確定模塊430、共享信息添加模塊440和應(yīng)用更新模塊450。
更新指令接收模塊410,用于接收第二應(yīng)用程序的資源文件更新指令;
更新差異獲取模塊420,用于響應(yīng)資源文件更新指令,獲取第二應(yīng)用程序在更新后和更新前之間資源文件的差異;
共享文件確定模塊430,用于根據(jù)差異,確定終端中其他應(yīng)用程序與第二應(yīng)用程序之間相同的資源文件;
共享信息添加模塊440,用于在第二應(yīng)用程序中添加共享信息,共享信息用于將相同的資源文件向其它應(yīng)用程序共享;
應(yīng)用更新模塊450,用于通過共享信息的添加,將第二應(yīng)用程序中更新前的資源文件替換為更新后的資源文件。
可選的,如圖9所示,圖8中的裝置還包括但不限于:刪除指令接收模塊510、文件還原模塊520和文件刪除模塊530。
刪除指令接收模塊510,用于接收第二應(yīng)用程序的資源文件刪除指令;
文件還原模塊520,用于針對共享第二應(yīng)用程序中資源文件的每一個應(yīng)用程序,將應(yīng)用程序共享的資源文件分別還原給應(yīng)用程序;
文件刪除模塊530,用于刪除第二應(yīng)用程序中的所有資源文件。
應(yīng)當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),本領(lǐng)域技術(shù)人員可以在不脫離其范圍執(zhí)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。