說明書
說明書
ios性能收集方法及裝置、移動(dòng)終端、計(jì)算機(jī)可讀存儲介質(zhì)
技術(shù)領(lǐng)域
本申請涉及移動(dòng)通信領(lǐng)域,尤其涉及一種ios性能收集方法及裝置、移動(dòng)終端、計(jì)算機(jī)可讀存儲介質(zhì)。
背景技術(shù)
隨著移動(dòng)應(yīng)用的發(fā)展,用戶對于手機(jī)應(yīng)用的流暢度,網(wǎng)絡(luò)等待時(shí)間,崩潰、卡頓問題的重視程度相應(yīng)提高,應(yīng)用的體驗(yàn)會影響公司的品牌形象。持續(xù)優(yōu)化應(yīng)用,增強(qiáng)用戶體驗(yàn)依托于用戶體驗(yàn)信息,而蘋果官方收集的用戶體驗(yàn)信息僅有app的崩潰日志,對于手機(jī)整體流暢度,網(wǎng)絡(luò)等待時(shí)間,崩潰、卡頓問題等信息處于缺失狀態(tài)。同時(shí),只有用戶同意手機(jī)體驗(yàn)改進(jìn)收集的情況下應(yīng)用才能收到用戶的崩潰信息,導(dǎo)致可收集到的信息進(jìn)一步減少。同時(shí),因保密原則,不允許接入第三方手機(jī)信息插件的情況下,使得信息收集更加困難。因此,ios線上性能信息收集工具的需求迫在眉睫。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提出了一種ios性能收集方法及裝置、移動(dòng)終端、計(jì)算機(jī)存儲介質(zhì),以解決現(xiàn)有技術(shù)中收集的用戶信息較單一且較少的問題。
為了解決上述技術(shù)問題,本發(fā)明是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明提供了一種ios性能收集方法,所述方法包括:
獲取崩潰異常信息和/或卡頓異常信息;
將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器;
其中,所述崩潰異常信息通過崩潰監(jiān)測機(jī)制獲取,所述卡頓異常信息通過卡頓監(jiān)測機(jī)制獲取。
第二方面,本發(fā)明提供了一種ios性能收集裝置,所述裝置包括:
崩潰監(jiān)測單元,用于獲取崩潰異常信息;
和/或卡頓監(jiān)測單元,用于獲取卡頓異常信息;
上傳單元,用于將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器;
其中,所述崩潰異常信息通過崩潰監(jiān)測機(jī)制獲取,所述卡頓異常信息通過卡頓監(jiān)測機(jī)制獲取。
第三方面,本發(fā)明提供了一種移動(dòng)終端,其特征在于,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運(yùn)用的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面中所述的ios性能收集方法的步驟。
第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述第一方面中所述的ios性能收集方法的步驟。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:本申請通過崩潰監(jiān)測機(jī)制獲取崩潰異常信息和/或通過卡頓監(jiān)測機(jī)制獲取卡頓異常信息,將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器,這樣通過自動(dòng)收集崩潰異常信息和/或卡頓異常信息的方法,不再需要經(jīng)過用戶同意確認(rèn)后才能進(jìn)行信息收集,這樣服務(wù)器接收到的異常信息量將大大增加,且更加全面,供應(yīng)商能夠依據(jù)該信息進(jìn)行針對性地優(yōu)化升級,從而提高用戶體驗(yàn)。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1是本發(fā)明一種實(shí)施例的ios性能收集方法的流程圖;
圖2是本發(fā)明一種實(shí)施例的獲取崩潰異常信息的流程圖;
圖3是本發(fā)明一種實(shí)施例的獲取卡頓異常信息的流程圖;
圖4是本發(fā)明一種實(shí)施例的ios性能收集裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明各實(shí)施例的一種移動(dòng)終端的硬件結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
本發(fā)明實(shí)施例提供了一種ios性能收集方法及裝置、移動(dòng)終端、計(jì)算機(jī)存儲介質(zhì)。
下面首先對本發(fā)明實(shí)施例提供的一種ios性能收集方法進(jìn)行介紹。
需要說明的是,本發(fā)明實(shí)施例提供的方法的執(zhí)行主體可以移動(dòng)終端,所述移動(dòng)終端可以包括手機(jī)、平板電腦、個(gè)人數(shù)字助理等等,本發(fā)明實(shí)施例對此不作限定。本發(fā)明所述方法的應(yīng)用場景主要針對ios(蘋果公司的移動(dòng)操作系統(tǒng)),收集ios客戶端線上版本應(yīng)用的崩潰和卡頓等性能信息。
圖1是本發(fā)明實(shí)一個(gè)實(shí)施例的ios性能收集方法的流程圖,如圖1所示,該方法包括以下步驟:
在步驟101中,獲取崩潰異常信息和/或卡頓異常信息。
當(dāng)移動(dòng)終端在開機(jī)使用時(shí),會打開各種不同的應(yīng)用,此時(shí)可能會出現(xiàn)崩潰,即我們通常所說的死機(jī),或者應(yīng)用打開很慢、不流暢。因此當(dāng)移動(dòng)終端開機(jī)后,打開某個(gè)應(yīng)用時(shí),將會觸發(fā)所述ios線上性能收集的啟動(dòng),即收集崩潰異常信息和/或卡頓異常信息。其中,所述崩潰異常信息通過崩潰監(jiān)測機(jī)制獲取,所述卡頓異常信息通過卡頓監(jiān)測機(jī)制獲取。
在步驟102中,將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器。
一旦收集到崩潰異常信息和/或卡頓異常信息,將會把所述崩潰異常信息和/或所述卡頓異常信息上傳到服務(wù)器,不需要用戶同意確認(rèn),為供應(yīng)商提供了更多的用戶基于ios使用應(yīng)用的實(shí)際體驗(yàn)信息,進(jìn)而供應(yīng)商可以根據(jù)所述收集的異常信息對應(yīng)用程序或者終端進(jìn)行升級優(yōu)化。
進(jìn)一步的,所述崩潰監(jiān)測機(jī)制是基于runtime交換機(jī)制,所述卡頓監(jiān)測機(jī)制是基于runloop技術(shù)。其中,所述runtime交換機(jī)制以及runloop技術(shù)是現(xiàn)有技術(shù),在此不再贅述。
為了便于理解,結(jié)合圖2和圖3對步驟1作進(jìn)一步描述,先結(jié)合圖2,圖2是本發(fā)明一種實(shí)施例的獲取崩潰異常信息的流程圖,該獲取崩潰異常信息的步驟包括:
在步驟201中,注冊監(jiān)控崩潰信號量。
在移動(dòng)終端的程序開始時(shí),就會觸發(fā)監(jiān)控崩潰信息量的注冊。該信號量存在整個(gè)事件發(fā)生過程中。
在步驟202中,通過所述監(jiān)控崩潰信號量捕獲崩潰信息。
當(dāng)出現(xiàn)崩潰情況時(shí),該信號量能都自動(dòng)捕獲到崩潰信息。
在步驟203中,對所述崩潰信息進(jìn)行處理,獲取崩潰異常信息。
在捕獲到崩潰信息后,對收集到的崩潰信息進(jìn)行處理。當(dāng)有事件發(fā)生時(shí),數(shù)據(jù)結(jié)構(gòu)中的指針會指向堆棧中的不同位置,所述堆棧中存有數(shù)據(jù)信息和地址等信息,當(dāng)崩潰發(fā)生時(shí),獲取此時(shí)指針指向的堆棧的位置以及該位置中存儲的數(shù)據(jù)信息和地址信息。
可選地,所述崩潰異常信息還包括當(dāng)前窗口的控制器,所述當(dāng)前窗口的控制器通過遍歷方式獲取,即通過逐一排查的方式來獲取發(fā)生崩潰的當(dāng)前窗口的控制器。
可選地,所述崩潰異常信息還包括當(dāng)前窗口的層級控制器,所述當(dāng)前窗口的層級控制器通過拼接方式獲取。具體地,當(dāng)前窗口可能是通過打開一個(gè)應(yīng)用后,又進(jìn)一步點(diǎn)進(jìn)其中的某個(gè)功能模塊,例如打開百度瀏覽器后,然后又點(diǎn)開了首頁的視頻中騰訊視頻端,那么各層級的打開是通過其對應(yīng)的控制器來完成的,此時(shí),獲取各層級的控制器。
可選地,所述崩潰異常信息還包括設(shè)備信息。所述設(shè)備信息可以包括:當(dāng)前設(shè)備的版本號,崩潰發(fā)生的時(shí)間,設(shè)備類型等。
下面結(jié)合圖3對步驟101作進(jìn)一步描述,圖3是本發(fā)明一種實(shí)施例的獲取卡頓異常信息的流程圖,該獲取卡頓異常信息的步驟包括:
在步驟301中,添加Observer到主線程的runloop中。
Observer可以為共享和交換式網(wǎng)絡(luò)環(huán)境提供測試、捕捉和趨勢分析的功能。
在步驟302中,通過所述Observer監(jiān)控所述主線程的狀態(tài)。
在步驟303中,獲取主線程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之間的第一耗時(shí);獲取主線程Runloop(kCFRunLoopAfterWaiting)的第二耗時(shí)。
卡頓可能發(fā)生在主線程中的某個(gè)/某些進(jìn)程的啟動(dòng)時(shí)或進(jìn)程切換時(shí),還可能發(fā)生在某個(gè)進(jìn)程啟動(dòng)后運(yùn)行中的時(shí)候,為此通過獲取主線程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之間的第一耗時(shí),以及獲取主線程Runloop(kCFRunLoopAfterWaiting)的第二耗時(shí),即可以監(jiān)控其是否發(fā)生卡頓的情況。其中,所述第一耗時(shí)的獲取與第二耗時(shí)的獲取沒有先后關(guān)系,兩者都是伴隨著主線程而在不斷進(jìn)行中。
在步驟304中,判斷所述第一耗時(shí)和/或所述第二耗時(shí)是否超過預(yù)設(shè)閾值。
該預(yù)設(shè)閾值是開發(fā)者或者供應(yīng)商根據(jù)實(shí)際情況預(yù)先設(shè)置。不論是第一耗時(shí)超過了預(yù)設(shè)閾值,還是第二耗時(shí)超過了預(yù)設(shè)閾值,又或者是兩者都超過了預(yù)設(shè)閾值,都說明發(fā)生了卡頓的情況,即當(dāng)判定結(jié)果為是時(shí),說明發(fā)生了卡頓異常,則執(zhí)行步驟305;若第一耗時(shí)與第二耗時(shí)都沒有超過預(yù)設(shè)閾值,說明沒有發(fā)生卡頓異常,則回到步驟303。
在步驟305中,獲取所述卡頓異常信息。
所述卡頓異常信息包括卡頓位置的堆棧信息。當(dāng)有事件發(fā)生時(shí),數(shù)據(jù)結(jié)構(gòu)中的指針會指向堆棧中的不同位置,所述堆棧中存有數(shù)據(jù)信息和地址等信息,當(dāng)卡頓發(fā)生時(shí),獲取此時(shí)指針指向的堆棧的位置以及該位置中存儲的數(shù)據(jù)信息和地址信息。
可選地,所述卡頓異常信息還可以包括當(dāng)前窗口的控制器、當(dāng)前窗口的層級控制器、設(shè)備信息中的至少一個(gè),其獲取的方式同崩潰信息中的對應(yīng)信息獲取方式一樣,在此不再贅述。其中,所述設(shè)備信息可以包括:當(dāng)前設(shè)備的版本號,崩潰發(fā)生的時(shí)間,設(shè)備類型等。
上述所述的獲取崩潰異常信息的步驟是基于runtime交換機(jī)制,所述卡頓監(jiān)測機(jī)制是基于runloop技術(shù),因此不需要接入第三方插件,可以避免隱私泄露的問題,盡量較少了對程序模塊的侵入,也避免了過分耦合造成的難以維護(hù)的問題。
由上述實(shí)施例可見,該實(shí)施例中,通過崩潰監(jiān)測機(jī)制獲取崩潰異常信息和/或通過卡頓監(jiān)測機(jī)制獲取卡頓異常信息,將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器,這樣通過自動(dòng)收集崩潰異常信息和/或卡頓異常信息的方法,不再需要經(jīng)過用戶同意確認(rèn)后才能收集,這樣服務(wù)器接收到的異常信息量將大大增加,且更加全面,供應(yīng)商能夠依據(jù)該信息進(jìn)行針對性地優(yōu)化升級,從而提高用戶體驗(yàn)。
圖4是本發(fā)明的一種實(shí)施例的ios性能收集裝置的結(jié)構(gòu)示意圖,該裝置應(yīng)用于移動(dòng)終端,尤其是使用ios的終端。如圖4所示,該裝置包括崩潰監(jiān)測單元401和/或卡頓監(jiān)測單元402、上傳單元403,其中,
所述崩潰監(jiān)測單元401,用于獲取崩潰異常信息;
所述卡頓監(jiān)測單元402,用于獲取卡頓異常信息;
所述上傳單元403,用于將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器;
其中,所述崩潰異常信息通過崩潰監(jiān)測機(jī)制獲取,所述卡頓異常信息通過卡頓監(jiān)測機(jī)制獲取。
可選地,所述崩潰監(jiān)測機(jī)制是基于runtime交換機(jī)制,所述卡頓監(jiān)測機(jī)制是基于runloop技術(shù)。
由上述實(shí)施例可見,該實(shí)施例中,通過崩潰監(jiān)測機(jī)制獲取崩潰異常信息和/或通過卡頓監(jiān)測機(jī)制獲取卡頓異常信息,將所述崩潰異常信息和/或所述卡頓異常信息分別上傳至服務(wù)器,這樣通過自動(dòng)收集崩潰異常信息和/或卡頓異常信息的方法,不再需要經(jīng)過用戶同意確認(rèn)后才能收集,這樣服務(wù)器接收到的異常信息量將大大增加,且更加全面,供應(yīng)商能夠依據(jù)該信息進(jìn)行針對性地優(yōu)化升級,從而提高用戶體驗(yàn)。
可選地,作為一個(gè)實(shí)施例,所述崩潰監(jiān)測單元401包括注冊模塊、第一獲取模塊。其中,所述注冊模塊用于注冊監(jiān)控崩潰信號量;所述第一獲取模塊用于通過所述監(jiān)控崩潰信號量捕獲崩潰信息,對所述崩潰信息進(jìn)行處理,獲取崩潰異常信息,所述崩潰異常信息包括崩潰位置的堆棧信息。
可選地,所述崩潰異常信息還可以包括:通過遍歷獲取的當(dāng)前窗口的控制器、通過拼接獲取的當(dāng)前窗口的層級控制器、當(dāng)前設(shè)備信息中的至少一個(gè)。
可選地,作為一個(gè)實(shí)施例,所述卡頓監(jiān)測單元402包括添加模塊、第二獲取模塊,其中所述添加模塊用于將Observer到主線程的runloop中;所述第二獲取模塊用于通過所述Observer監(jiān)控所述主線程的狀態(tài),從而獲取卡頓異常信息。
進(jìn)一步地,所述卡頓監(jiān)測單元402還包括耗時(shí)獲取模塊、比對模塊、判定模塊。其中,所述耗時(shí)獲取模塊用于獲取主線程Runloop(kCFRunLoopBeforeSources和kCFRunLoopBeforeWaiting)之間的第一耗時(shí)和觀察主線程Runloop(kCFRunLoopAfterWaiting)的第二耗時(shí);所述比對模塊用于將第一耗時(shí)和第二耗時(shí)分別于預(yù)設(shè)閾值進(jìn)行比對;所述判定模塊用于如果第一耗時(shí)和第二耗時(shí)只要有一個(gè)超過了預(yù)設(shè)閾值,則判定發(fā)生卡頓;如果所述第一耗時(shí)和所述第二耗時(shí)都沒有超過所述預(yù)設(shè)閾值,則判定沒有發(fā)生卡頓。當(dāng)判定發(fā)生卡頓時(shí),第二獲取模塊具體用于獲取卡頓位置的堆棧信息。
可選地,所述第二獲取模塊還可以用于通過遍歷獲取當(dāng)前窗口的控制器。
可選地,所述第二獲取模塊還可以用于通過拼接當(dāng)前窗口的層級控制器。
可選地,所述第二獲取模塊還可以用于獲取當(dāng)前設(shè)備信息。
可選地,所述設(shè)備信息包括:設(shè)備版本號,崩潰發(fā)生的時(shí)間,設(shè)備類型。
圖5為實(shí)現(xiàn)本發(fā)明實(shí)施例的終端設(shè)備的硬件結(jié)構(gòu)示意圖。如圖5所示,該終端設(shè)備500包括但不限于:射頻單元501、網(wǎng)絡(luò)模塊502、音頻輸出單元503、輸入單元504、傳感器505、顯示單元506、用戶輸入單元507、接口單元508、存儲器509、處理器510、以及電源511等部件。本領(lǐng)域技術(shù)人員可以理解,圖5中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,終端設(shè)備可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。在本發(fā)明實(shí)施例中,終端設(shè)備包括但不限于手機(jī)、平板電腦、筆記本電腦、掌上電腦、車載終端、可穿戴設(shè)備、以及計(jì)步器等。
其中,處理器510,用于執(zhí)行以下方法:
獲取崩潰異常信息和/或卡頓異常信息;
將所述崩潰異常信息和/或卡頓異常信息分別上傳至服務(wù)器;
其中,所述崩潰異常信息通過崩潰監(jiān)測機(jī)制獲取,所述卡頓異常信息通過卡頓監(jiān)測機(jī)制獲取。
由于通過崩潰監(jiān)測機(jī)制獲取崩潰異常信息和/或通過卡頓監(jiān)測機(jī)制獲取卡頓異常信息,將所述崩潰異常信息和/或卡頓異常信息分別上傳至服務(wù)器,這樣通過自動(dòng)收集崩潰異常信息和/或卡頓異常信息的方法,不再需要經(jīng)過用戶同意確認(rèn)后才能收集,這樣服務(wù)器接收到的異常信息量將大大增加,且更加全面,供應(yīng)商能夠依據(jù)該信息進(jìn)行針對性地優(yōu)化升級,從而提高用戶體驗(yàn)。
應(yīng)理解的是,本發(fā)明實(shí)施例中,射頻單元501可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,具體的,將來自基站的下行數(shù)據(jù)接收后,給處理器510處理;另外,將上行的數(shù)據(jù)發(fā)送給基站。通常,射頻單元501包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器、雙工器等。此外,射頻單元501還可以通過無線通信系統(tǒng)與網(wǎng)絡(luò)和其他設(shè)備通信。
終端設(shè)備通過網(wǎng)絡(luò)模塊502為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問,如幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等。
音頻輸出單元503可以將射頻單元501或網(wǎng)絡(luò)模塊502接收的或者在存儲器509中存儲的音頻數(shù)據(jù)轉(zhuǎn)換成音頻信號并且輸出為聲音。而且,音頻輸出單元503還可以提供與終端設(shè)備500執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出單元503包括揚(yáng)聲器、蜂鳴器以及受話器等。
輸入單元504用于接收音頻或視頻信號。輸入單元504可以包括圖形處理器(Graphics Processing Unit,GPU)5041和麥克風(fēng)5042,圖形處理器5041對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置(如攝像頭)獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進(jìn)行處理。處理后的圖像幀可以顯示在顯示單元506上。經(jīng)圖形處理器5041處理后的圖像幀可以存儲在存儲器509(或其它存儲介質(zhì))中或者經(jīng)由射頻單元501或網(wǎng)絡(luò)模塊502進(jìn)行發(fā)送。麥克風(fēng)5042可以接收聲音,并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由射頻單元501發(fā)送到移動(dòng)通信基站的格式輸出。
終端設(shè)備500還包括至少一種傳感器505,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板5061的亮度,接近傳感器可在終端設(shè)備500移動(dòng)到耳邊時(shí),關(guān)閉顯示面板5061和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測出重力的大小及方向,可用于識別終端設(shè)備姿態(tài)(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識別相關(guān)功能(比如計(jì)步器、敲擊)等;傳感器505還可以包括指紋傳感器、壓力傳感器、虹膜傳感器、分子傳感器、陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等,其中紅外線傳感器能夠通過發(fā)射和接收紅外光測量物體與終端設(shè)備之間的距離,在此不再贅述。
顯示單元506用于顯示由用戶輸入的信息或提供給用戶的信息。顯示單元506可包括顯示面板5061,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板5061。
用戶輸入單元507可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與終端設(shè)備的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,用戶輸入單元507包括觸控面板5071以及其他輸入設(shè)備5072。觸控面板5071,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板5071上或在觸控面板5071附近的操作)。觸控面板5071可包括觸摸檢測裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器510,接收處理器510發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板5071。除了觸控面板5071,用戶輸入單元507還可以包括其他輸入設(shè)備5072。具體地,其他輸入設(shè)備5072可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿,在此不再贅述。
進(jìn)一步的,觸控面板5071可覆蓋在顯示面板5061上,當(dāng)觸控面板5071檢測到在其上或附近的觸摸操作后,傳送給處理器510以確定觸摸事件的類型,隨后處理器510根據(jù)觸摸事件的類型在顯示面板5061上提供相應(yīng)的視覺輸出。雖然在圖5中,觸控面板5071與顯示面板5061是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)終端設(shè)備的輸入和輸出功能,但是在某些實(shí)施例中,可以將觸控面板5071與顯示面板5061集成而實(shí)現(xiàn)終端設(shè)備的輸入和輸出功能,具體此處不做限定。
接口單元508為外部裝置與終端設(shè)備500連接的接口。例如,外部裝置可以包括有線或無線頭戴式耳機(jī)端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機(jī)端口等等。接口單元508可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)浇K端設(shè)備500內(nèi)的一個(gè)或多個(gè)元件或者可以用于在終端設(shè)備500和外部裝置之間傳輸數(shù)據(jù)。
存儲器509可用于存儲軟件程序以及各種數(shù)據(jù)。存儲器509可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器509可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個(gè)磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
處理器510是終端設(shè)備的控制中心,利用各種接口和線路連接整個(gè)終端設(shè)備的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲在存儲器509內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器509內(nèi)的數(shù)據(jù),執(zhí)行終端設(shè)備的各種功能和處理數(shù)據(jù),從而對終端設(shè)備進(jìn)行整體監(jiān)控。處理器510可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器510可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器510中。
終端設(shè)備500還可以包括給各個(gè)部件供電的電源511(比如電池),優(yōu)選的,電源511可以通過電源管理系統(tǒng)與處理器510邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
另外,終端設(shè)備500包括一些未示出的功能模塊,在此不再贅述。
可選地,本發(fā)明實(shí)施例還提供一種終端設(shè)備,其可包括處理器510,存儲器509,存儲在存儲器509上并可在所述處理器510上運(yùn)行的計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器510執(zhí)行時(shí)實(shí)現(xiàn)上述圖1至圖3所示的方法實(shí)施例的各個(gè)過程,且能達(dá)到相同的技術(shù)效果,為避免重復(fù),這里不再贅述。
本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述環(huán)境監(jiān)測方法實(shí)施例的各個(gè)過程,且能達(dá)到相同的技術(shù)效果,為避免重復(fù),這里不再贅述。其中,所述的計(jì)算機(jī)可讀存儲介質(zhì),如只讀存儲器(Read-Only Memory,ROM)、隨機(jī)存取存儲器(Random Access Memory,RAM)、磁碟或者光盤等。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。