一種應(yīng)用程序卸載的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序卸載方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)與通信技術(shù)的快速發(fā)展,同時(shí)也伴隨著智能終端的迅速普及,各種應(yīng)用軟件層出不窮。為保證應(yīng)用軟件的競(jìng)爭(zhēng)力便于進(jìn)一步完善軟件產(chǎn)品,目前市面上的大量應(yīng)用軟件會(huì)在用戶卸載時(shí)彈出反饋調(diào)查頁(yè)面,實(shí)現(xiàn)對(duì)用戶反饋信息的收集。
[0003]彈出反饋調(diào)查頁(yè)面功能的實(shí)現(xiàn)原理為:Android應(yīng)用程序在安裝時(shí)會(huì)在在/data/data/目錄下生成一個(gè)以包名為文件名的目錄/data/data/包名,該Android應(yīng)用程序一旦被用戶使用,便會(huì)以C語(yǔ)言代碼克隆出來(lái)一個(gè)運(yùn)行進(jìn)程的子進(jìn)程,用來(lái)監(jiān)聽(tīng)目錄是否還存在。當(dāng)用戶卸載應(yīng)用程序時(shí),對(duì)應(yīng)的目錄文件被刪除,子進(jìn)程通知Android系統(tǒng)打開(kāi)一個(gè)urI卸載調(diào)查的網(wǎng)頁(yè)。
[0004]目前現(xiàn)有技術(shù)應(yīng)用卸載方法,只能將待卸載應(yīng)用程序所在進(jìn)程清理掉,并清理/data/data目錄下卸載應(yīng)用的文件夾,卸載應(yīng)用程序?qū)?yīng)的子進(jìn)程并沒(méi)有被清理。
[0005]帶有反饋調(diào)查頁(yè)面功能的應(yīng)用軟件雖然給軟件開(kāi)發(fā)商后續(xù)改進(jìn)產(chǎn)品提供了便利,但對(duì)于終端用戶來(lái)講由于該子進(jìn)程的存在,一方面影響用戶體驗(yàn),尤其當(dāng)使用應(yīng)用批量卸載功能時(shí)會(huì)頻繁彈出反饋網(wǎng)頁(yè),另一方面當(dāng)卸載應(yīng)用殘余的子進(jìn)程累計(jì)到一定程度會(huì)導(dǎo)致內(nèi)存占用增多,使終端設(shè)備運(yùn)行變慢。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種應(yīng)用程序卸載的方法及裝置,以解決第三方應(yīng)用程序在卸載后仍彈出反饋調(diào)查頁(yè)面的問(wèn)題。
[0007]—方面,本發(fā)明提供了一種應(yīng)用程序卸載的方法,所述方法包括:
獲取待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程;
根據(jù)所述第一進(jìn)程獲取所述待卸載應(yīng)用程序?qū)?yīng)的第二進(jìn)程;
將所述第一進(jìn)程和第二進(jìn)程進(jìn)行清除。
[0008]另一方面,本發(fā)明還提供了一種應(yīng)用程序卸載的裝置,包括:
第一進(jìn)程獲取模塊,用于獲取所述待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程;
第二進(jìn)程獲取模塊,用于根據(jù)所述獲取的第一進(jìn)程PID信息獲取第二進(jìn)程。
[0009]清除模塊,用于對(duì)所述獲取的第一進(jìn)程和第二進(jìn)程進(jìn)行清除。
[0010]本發(fā)明的有益效果在于,對(duì)具有反饋調(diào)查頁(yè)面功能的應(yīng)用程序進(jìn)行克隆子進(jìn)程的查殺,一方面可以避免彈出反饋調(diào)查頁(yè)面,提升用戶體驗(yàn),另一方面可以避免卸載應(yīng)用程序殘留的克隆子進(jìn)程占用內(nèi)存。
【附圖說(shuō)明】
[0011]圖1為本發(fā)明實(shí)施例提供的應(yīng)用程序卸載方法流程圖圖2為本發(fā)明實(shí)施例提供的運(yùn)行進(jìn)程判斷方法流程圖圖3為本發(fā)明實(shí)施例提供的實(shí)現(xiàn)示例的示意圖圖4為本發(fā)明實(shí)施例提供的終端設(shè)備運(yùn)行進(jìn)程的進(jìn)程信息示意圖圖5為本發(fā)明實(shí)施例提供的應(yīng)用程序卸載裝置的結(jié)構(gòu)圖圖6為本發(fā)明實(shí)施例提供的第一進(jìn)程獲取模塊結(jié)構(gòu)圖圖7為本發(fā)明實(shí)施例提供的第二進(jìn)程獲取模塊結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0012]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處描述的具體實(shí)施例僅用于解釋本方,并不用于限于本發(fā)明。
[0013]本發(fā)明的實(shí)施例,通過(guò)獲取待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程的PID信息,以及終端設(shè)備當(dāng)前運(yùn)行進(jìn)程的PIDD信息,進(jìn)行比對(duì),獲取待卸載應(yīng)用程序?qū)?yīng)的第二進(jìn)程,將第一進(jìn)程和第二進(jìn)程進(jìn)行查殺,實(shí)現(xiàn)了待卸載應(yīng)用程序的完全卸載。
[0014]如圖1所示,本發(fā)明實(shí)施例提供了一種應(yīng)用程序的卸載方法,其包括:
SlO:獲取待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程;
具體的,如圖2所示,本實(shí)施例中獲取待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程包括以下步驟: SlOl:獲取待卸載應(yīng)用程序的名稱(chēng)信息;
本實(shí)施例中,終端設(shè)備接收待卸載應(yīng)用程序的卸載請(qǐng)求,根據(jù)卸載請(qǐng)求獲取待卸載應(yīng)用程序的名稱(chēng)信息。所述卸載請(qǐng)求中包含待卸載應(yīng)用程序的名稱(chēng)信息。
[0015]S102:獲取終端設(shè)備當(dāng)前運(yùn)行進(jìn)程的NAME列表;
本實(shí)施例中,所述運(yùn)行進(jìn)程的NAME列表可以通過(guò)執(zhí)行進(jìn)程信息獲取命令得到,所述進(jìn)程信息獲取命令可以為PS命令,示例性的,可以調(diào)用ActivityManager類(lèi)中的getRunningAppProcesses O方法獲取終端設(shè)備正在運(yùn)行的應(yīng)用進(jìn)程的進(jìn)程名。
[0016]本實(shí)施例中,所述獲取終端設(shè)備當(dāng)前運(yùn)行進(jìn)程的NAME列表可以與獲取待卸載應(yīng)用程序的名稱(chēng)信息同步進(jìn)行,也可以按照順序先后進(jìn)行,在此不限制其執(zhí)行順序。
[0017]S103:在所述運(yùn)行進(jìn)程的NAME列表中查找進(jìn)程名與所述待卸載應(yīng)用程序名稱(chēng)信息一致的第一進(jìn)程。
[0018]本實(shí)施例中,將待卸載應(yīng)用程序的名稱(chēng)信息在上述獲取的終端設(shè)備運(yùn)行進(jìn)程的NAME列表中進(jìn)行遍歷,查詢所述運(yùn)行進(jìn)程的NAME列表中與所述待卸載應(yīng)用程序的名稱(chēng)信息一致的進(jìn)程為第一進(jìn)程。
[0019]S11:根據(jù)所述第一進(jìn)程獲取所述待卸載應(yīng)用程序?qū)?yīng)的第二進(jìn)程;
具體的,如圖3所示,本實(shí)施例中獲取所述待卸載應(yīng)用程序?qū)?yīng)的第二進(jìn)程包括以下步驟:
Sm:獲取待卸載應(yīng)用程序?qū)?yīng)的第一進(jìn)程的進(jìn)程標(biāo)識(shí)(Process Identifier,PID);本實(shí)施例中,所述PID信息可以通過(guò)執(zhí)行進(jìn)程信息獲取命令得到,所述進(jìn)程信息獲取命令可以為PS命令,示例性的,可以調(diào)用Activityifenager類(lèi)中的getRunningAppProcesses O方法獲取待卸載應(yīng)用程序的PID信息。
[0020]SI 12:獲取終端設(shè)備當(dāng)前運(yùn)行進(jìn)程的父進(jìn)程標(biāo)識(shí)(Product Part Identificat1n, PPID); 本實(shí)施例中,所述ffID信息可以通過(guò)執(zhí)行進(jìn)程信息獲取命令得到,所述進(jìn)程信息獲取命令可以為PS命令,示例性的,可以調(diào)用Activityifenager類(lèi)中的getRunningAppProcesses O方法獲取待卸載應(yīng)用程序的PPID。
[0021]S113:將所述待第一進(jìn)程的PID信息與所述終端設(shè)備當(dāng)前運(yùn)行進(jìn)程列表中所有進(jìn)程的PIDD信息進(jìn)行比對(duì),獲取與PPID信息與第一進(jìn)程PID信息一致的第二進(jìn)程。
[0022]本實(shí)施例中,若所述終端設(shè)備當(dāng)前運(yùn)行進(jìn)程的PIDD信息與所述第一進(jìn)程的PID信息一致,則判定所述進(jìn)程為待清除的第二進(jìn)程,對(duì)其進(jìn)行標(biāo)識(shí)。
[0023]S12:將所述第二進(jìn)程進(jìn)行清除。
[0024]需要注意的是,在本實(shí)施例中,所述進(jìn)程名NAME、