本技術(shù)涉及信號處理領(lǐng)域,并且更具體地,涉及信號處理領(lǐng)域中一種信號處理的方法、裝置、電子設(shè)備和存儲介質(zhì)。
背景技術(shù):
1、通常用戶點擊電子設(shè)備顯示頁面的控件時,控件觸發(fā)相應(yīng)的設(shè)置信號。設(shè)置信號需要通過應(yīng)用層傳遞到中間件,由中間件傳遞到控制器,再由控制器下發(fā)到底層硬件。從控件被點擊到底層響應(yīng)控件觸發(fā)的設(shè)置信號存在一定的時間差。用戶可能存在頻繁多次操作同一控件,以實現(xiàn)自己的控制需求的情況。
2、現(xiàn)有技術(shù)中,對于用戶點擊控件觸發(fā)的設(shè)置信號有以下幾種處理方法:第一種,檢測到用戶點擊控件,立即下發(fā)控件觸發(fā)的設(shè)置信號;第二種,檢測到用戶點擊控件時,啟動延時任務(wù)延遲下發(fā)此次點擊觸發(fā)的設(shè)置信號。在延遲的過程中每次檢測到用戶點擊都取消上一次的延遲任務(wù),并重新啟動延時任務(wù),在延遲任務(wù)完成的時候,下發(fā)用戶最后一次點擊觸發(fā)的設(shè)置信號。
3、但是,第一種現(xiàn)有技術(shù)在用戶頻繁多次操作同一控件時,會將多次設(shè)置信號均下發(fā),對系統(tǒng)的穩(wěn)定性存在負面影響。第二種現(xiàn)有技術(shù)用戶頻繁多次操作時只下發(fā)最后一次點擊的設(shè)置信號,對用戶連續(xù)點擊過程中的操作沒有反饋,導(dǎo)致用戶的交互體驗較差。而且第二種現(xiàn)有技術(shù)如果用戶只點擊一次,存在信號延時下發(fā)的問題,也容易導(dǎo)致用戶體驗感差。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供了一種信號處理的方法、裝置、電子設(shè)備和存儲介質(zhì),該方法能夠減少設(shè)置信號響應(yīng)延遲,使用戶可以體驗到更加迅速和直接的反饋,提高用戶的體驗,并且可以避免因連續(xù)快速點擊導(dǎo)致的系統(tǒng)過載或錯誤響應(yīng),保證系統(tǒng)穩(wěn)定性。
2、第一方面,提供了一種信號處理的方法,該方法包括:在檢測到用戶對控件進行當(dāng)前點擊時,判斷當(dāng)前點擊是否為后續(xù)點擊;其中,后續(xù)點擊為連續(xù)點擊中除首次點擊之外的其他點擊;在確定當(dāng)前點擊不是后續(xù)點擊的情況下,將控件基于當(dāng)前點擊觸發(fā)的設(shè)置信號下發(fā)給底層硬件;在確定當(dāng)前點擊為后續(xù)點擊的情況下,基于預(yù)設(shè)頻率的周期時長確定下發(fā)時刻;將距離下發(fā)時刻最近一次控件觸發(fā)的設(shè)置信號,確定為目標設(shè)置信號;在下發(fā)時刻,將目標設(shè)置信號下發(fā)給底層硬件。
3、在上述技術(shù)方案中,判斷當(dāng)前點擊是否為連續(xù)點擊中除首次點擊之外的其他點擊,上述即后續(xù)點擊,在確定當(dāng)前點擊不是后續(xù)點擊的情況下,將當(dāng)前點擊觸發(fā)的設(shè)置信號直接下發(fā)給底層硬件,當(dāng)前點擊不是后續(xù)點擊,即當(dāng)前點擊是單次點擊或連續(xù)點擊中的首次點擊,在此情況下將設(shè)置信號直接下發(fā),實現(xiàn)了單次點擊不延時以及連續(xù)點擊中的首次點擊下發(fā),減少了響應(yīng)延遲,使用戶能體驗到更加迅速和直接的反饋。在確定當(dāng)前點擊為后續(xù)點擊的情況下,按照預(yù)設(shè)頻率確定的下發(fā)時刻,將距離該下發(fā)時刻最近一次點擊控件觸發(fā)的設(shè)置信號下發(fā)至底層硬件,實現(xiàn)了連續(xù)點擊過程中基于預(yù)設(shè)頻率下發(fā)設(shè)置信號,避免因連續(xù)快速點擊,頻繁下發(fā)設(shè)置信號導(dǎo)致的系統(tǒng)過載或錯誤響應(yīng),保證了系統(tǒng)穩(wěn)定性。連續(xù)點擊時,用戶也通常期望得到反饋,通過在預(yù)設(shè)頻率確定的下發(fā)時刻下發(fā)設(shè)置信號,可以在連續(xù)點擊過程中響應(yīng)用戶操作,實現(xiàn)向用戶提供反饋,提高了用戶的交互體驗。
4、結(jié)合第一方面,在某些可能的實現(xiàn)方式中,在檢測到用戶對控件進行當(dāng)前點擊時,判斷當(dāng)前點擊是否為后續(xù)點擊,包括:將檢測到用戶對控件進行當(dāng)前點擊的時刻作為第一時刻;獲取第一時刻與第二時刻之間的間隔時長;其中,第二時刻為距離第一時刻最近一次向底層硬件下發(fā)設(shè)置信號的時刻;在間隔時長小于周期時長的情況下,確定當(dāng)前點擊為后續(xù)點擊。
5、在上述技術(shù)方案中,通過當(dāng)前點擊的第一時刻和上一次下發(fā)設(shè)置信號的第二時刻之間的間隔時長,判斷當(dāng)前點擊是否處于預(yù)設(shè)頻率的周期時長內(nèi),來確定當(dāng)前點擊是否為后續(xù)點擊,可以巧妙的分辨出后續(xù)點擊和首次點擊、單次點擊的區(qū)別,便于實現(xiàn)在確定當(dāng)前點擊為首次點擊或單次點擊的時后直接下發(fā)控件觸發(fā)的設(shè)置信號,保證首次點擊和單次點擊設(shè)置信號的及時下發(fā),提高用戶體驗。在當(dāng)前點擊為后續(xù)點擊的時候基于預(yù)設(shè)頻率下發(fā)設(shè)置信號,保證系統(tǒng)的穩(wěn)定性。
6、結(jié)合第一方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,在確定當(dāng)前點擊為后續(xù)點擊的情況下,基于預(yù)設(shè)頻率的周期時長確定下發(fā)時刻,包括:從第一時刻開始計時,得到第一計時時長;在確定當(dāng)前點擊為后續(xù)點擊的情況下,將周期時長減去間隔時長,得到目標時長;將第一計時時長等于目標時長的時刻,確定為下發(fā)時刻。
7、在上述技術(shù)方案中,用戶對控件的當(dāng)前點擊的第一時刻和上次下發(fā)設(shè)置信號的第二時刻之間,有一定的間隔時長。在確定下發(fā)時刻時,用周期時長減去間隔時長,得到了從當(dāng)前點擊的第一時刻到下發(fā)時刻的目標時長,并計時,在計時時長等于目標時長的時候,確定下發(fā)時刻??紤]到了當(dāng)前點擊和上次下發(fā)設(shè)置信號之間的間隔時長,實現(xiàn)了精確計算下發(fā)時刻,保證了下發(fā)頻率為預(yù)設(shè)頻率,進一步提高了系統(tǒng)穩(wěn)定性。
8、結(jié)合第一方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,將距離下發(fā)時刻最近一次控件觸發(fā)的設(shè)置信號,確定為目標設(shè)置信號,包括:在第一計時時長小于目標時長的情況下,將控件觸發(fā)的設(shè)置信號按照觸發(fā)時間從前到后的順序存儲至預(yù)設(shè)存儲空間;當(dāng)?shù)谝挥嫊r時長等于目標時長時,將最后存儲至存儲空間的設(shè)置信號確定為目標設(shè)置信號。
9、結(jié)合第一方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,在檢測到用戶對控件進行當(dāng)前點擊時,該方法還包括:獲取控件的當(dāng)前狀態(tài);將當(dāng)前狀態(tài)對應(yīng)的值記錄至預(yù)定義的緩存變量中;其中,在未對控件進行當(dāng)前點擊時,緩存變量中記錄控件的原始狀態(tài)對應(yīng)的值;在監(jiān)聽到緩存變量記錄的值發(fā)生變化的情況下,基于當(dāng)前狀態(tài)更新控件在顯示界面的顯示狀態(tài)。
10、在上述技術(shù)方案中,通過設(shè)置緩存變量,記錄每一次點擊控件后控件的狀態(tài),并基于緩存變量更新控件在顯示界面的顯示狀態(tài),可以確保控件的實際狀態(tài)與其在顯示界面上的表現(xiàn)同步,使得控件在界面的顯示狀態(tài)能夠快速響應(yīng)用戶的交互操作,增強了顯示界面的響應(yīng)性,提高了用戶的交互體驗。
11、結(jié)合第一方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,該方法還包括:若在控件對應(yīng)的狀態(tài)機為處理態(tài)的情況下接收到底層硬件反饋的底層信號,則忽略底層信號,并檢測狀態(tài)機是否切換為正常態(tài);其中,狀態(tài)機在檢測到用戶對控件的當(dāng)前點擊時切換為處理態(tài),底層信號用于指示控件的實際狀態(tài);在檢測到狀態(tài)機切換為正常態(tài)時,獲取底層硬件反饋的實時底層信號,并基于實時底層信號更新緩存變量中記錄的值。
12、在上述技術(shù)方案中,設(shè)置狀態(tài)機在觸發(fā)設(shè)置信號的時候切換為處理態(tài),忽略狀態(tài)機處于處理態(tài)時接收的底層硬件反饋的底層信號,可以實現(xiàn)在設(shè)置信號未響應(yīng)的時候,不基于底層信號更新緩存變量中記錄的值,避免了控件顯示狀態(tài)的回彈,也避免了多端操作控件時,底層硬件可能產(chǎn)生無序反饋信號對控件狀態(tài)的影響。在狀態(tài)機處于正常態(tài)時主動獲取實時底層信號,實現(xiàn)保持控件狀態(tài)和底層硬件實際狀態(tài)的統(tǒng)一。
13、結(jié)合第一方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,檢測狀態(tài)機是否切換為正常態(tài),包括:在檢測到用戶對控件進行當(dāng)前點擊時,開始計時,得到第二計時時長;確定當(dāng)前點擊的第一時刻和下發(fā)時刻之間的附加時長;將基礎(chǔ)延時時長加附加時長,得到目標延時時長;在檢測到第二計時時長等于目標延時時長的情況下,確定狀態(tài)機切換為正常態(tài)。
14、在上述技術(shù)方案中,在檢測到用戶對控件進行當(dāng)前點擊時開始計時,得到計時時長,計算當(dāng)前點擊和下發(fā)時刻之間的時間差,得到附加時長,將附加時長加上基礎(chǔ)延時時長,得到目標延時時長,基于目標延時時長和計時時長來判斷狀態(tài)機是否從處理態(tài)切換為正常態(tài),當(dāng)前點擊和下發(fā)時刻之間的附加時長不同時,確定的延時任務(wù)的延時時長不同,考慮到了對于當(dāng)前點擊觸發(fā)的設(shè)置信號基于預(yù)設(shè)頻率下發(fā)時,觸發(fā)時刻和下發(fā)時刻之間存在時間差可能會對狀態(tài)機處于處理態(tài)的維持時長產(chǎn)生的影響,確保了在不同情況下都能準確判斷狀態(tài)機從處理態(tài)轉(zhuǎn)換為正常態(tài)。
15、綜上,本技術(shù)通過當(dāng)前點擊的第一時刻和上一次下發(fā)設(shè)置信號的第二時刻之間的間隔時長,與預(yù)設(shè)頻率的周期時長進行比較,可以巧妙的分辨出當(dāng)前點擊是后續(xù)點擊、首次點擊或單次點擊,在當(dāng)前點擊是單次點擊或連續(xù)點擊中的首次點擊時,將設(shè)置信號直接下發(fā),實現(xiàn)了單次點擊不延時以及連續(xù)點擊中的首次點擊下發(fā),減少了響應(yīng)延遲,使用戶能體驗到更加迅速和直接的反饋。在確定當(dāng)前點擊為后續(xù)點擊的情況下,按照預(yù)設(shè)頻率下發(fā),避免因連續(xù)快速點擊,頻繁下發(fā)設(shè)置信號導(dǎo)致的系統(tǒng)過載或錯誤響應(yīng),保證了系統(tǒng)穩(wěn)定性??紤]到了當(dāng)前點擊和上次下發(fā)設(shè)置信號之間的間隔時長,實現(xiàn)了精確計算下發(fā)時刻,保證了下發(fā)頻率為預(yù)設(shè)頻率,進一步提高了系統(tǒng)穩(wěn)定性。設(shè)置緩存變量,記錄每一次點擊控件后控件的狀態(tài),并基于緩存變量更新控件在顯示界面的顯示狀態(tài),可以確??丶膶嶋H狀態(tài)與其在顯示界面上的表現(xiàn)同步,使得控件在界面的顯示狀態(tài)能夠快速響應(yīng)用戶的交互操作,增強了顯示界面的響應(yīng)性,提高了用戶的交互體驗??紤]到了基于預(yù)設(shè)頻率下發(fā)當(dāng)前點擊觸發(fā)的設(shè)置信號時,觸發(fā)時刻和下發(fā)時刻之間存在的時間差可能會對狀態(tài)機處于處理態(tài)的維持時長產(chǎn)生的影響,來確定目標延時時長,確保了在不同情況下都能準確判斷狀態(tài)機從處理態(tài)轉(zhuǎn)換為正常態(tài)。
16、第二方面,提供了一種信號處理的裝置,該裝置包括:判斷模塊,用于在檢測到用戶對控件進行當(dāng)前點擊時,判斷當(dāng)前點擊是否為后續(xù)點擊;其中,后續(xù)點擊為連續(xù)點擊中除首次點擊之外的其他點擊;第一下發(fā)模塊,用于在確定當(dāng)前點擊不是后續(xù)點擊的情況下,將控件基于當(dāng)前點擊觸發(fā)的設(shè)置信號下發(fā)給底層硬件;第一確定模塊,用于在確定當(dāng)前點擊為后續(xù)點擊的情況下,基于預(yù)設(shè)頻率的周期時長確定下發(fā)時刻;第二確定模塊,用于將距離下發(fā)時刻最近一次控件觸發(fā)的設(shè)置信號,確定為目標設(shè)置信號;第二下發(fā)模塊,用于在下發(fā)時刻,將目標設(shè)置信號下發(fā)給底層硬件。
17、結(jié)合第二方面,在某些可能的實現(xiàn)方式中,判斷模塊具體用于,將檢測到用戶對控件進行當(dāng)前點擊的時刻作為第一時刻;獲取第一時刻與第二時刻之間的間隔時長;其中,第二時刻為距離第一時刻最近一次向底層硬件下發(fā)設(shè)置信號的時刻;在間隔時長小于周期時長的情況下,確定當(dāng)前點擊為后續(xù)點擊。
18、結(jié)合第二方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,第一確定模塊具體用于,從第一時刻開始計時,得到第一計時時長;在確定當(dāng)前點擊為后續(xù)點擊的情況下,將周期時長減去間隔時長,得到目標時長;將第一計時時長等于目標時長的時刻,確定為下發(fā)時刻。
19、結(jié)合第二方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,第二確定模塊具體用于,在第一計時時長小于目標時長的情況下,將控件觸發(fā)的設(shè)置信號按照觸發(fā)時間從前到后的順序存儲至預(yù)設(shè)存儲空間;當(dāng)?shù)谝挥嫊r時長等于目標時長時,將最后存儲至存儲空間的設(shè)置信號確定為目標設(shè)置信號。
20、結(jié)合第二方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,該裝置還包括:獲取模塊,用于獲取控件的當(dāng)前狀態(tài);記錄模塊,用于將當(dāng)前狀態(tài)對應(yīng)的值記錄至預(yù)定義的緩存變量中;其中,在未對控件進行當(dāng)前點擊時,緩存變量中記錄控件的原始狀態(tài)對應(yīng)的值;更新模塊,用于在監(jiān)聽到緩存變量記錄的值發(fā)生變化的情況下,基于當(dāng)前狀態(tài)更新控件在顯示界面的顯示狀態(tài)。
21、結(jié)合第二方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,該裝置還包括:檢測模塊,用于若在控件對應(yīng)的狀態(tài)機為處理態(tài)的情況下接收到底層硬件反饋的底層信號,則忽略底層信號,并檢測狀態(tài)機是否切換為正常態(tài);其中,狀態(tài)機在檢測到用戶對控件的當(dāng)前點擊時切換為處理態(tài),底層信號用于指示控件的實際狀態(tài);更新模塊,還用于在檢測到狀態(tài)機切換為正常態(tài)時,獲取底層硬件反饋的實時底層信號,并基于實時底層信號更新緩存變量中記錄的值。
22、結(jié)合第二方面和上述實現(xiàn)方式,在某些可能的實現(xiàn)方式中,檢測模塊具體用于,在檢測到用戶對控件進行當(dāng)前點擊時,開始計時,得到第二計時時長;確定當(dāng)前點擊的第一時刻和下發(fā)時刻之間的附加時長;將基礎(chǔ)延時時長加附加時長,得到目標延時時長;在檢測到第二計時時長等于目標延時時長的情況下,確定狀態(tài)機切換為正常態(tài)。
23、第三方面,提供一種電子設(shè)備,包括存儲器和處理器。該存儲器用于存儲可執(zhí)行程序代碼,該處理器用于從存儲器中調(diào)用并運行該可執(zhí)行程序代碼,使得該電子設(shè)備執(zhí)行上述第一方面或第一方面任意一種可能的實現(xiàn)方式中的方法。
24、第四方面,提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括:計算機程序代碼,當(dāng)該計算機程序代碼在計算機上運行時,使得該計算機執(zhí)行上述第一方面或第一方面任意一種可能的實現(xiàn)方式中的方法。
25、第五方面,提供了一種計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)存儲有計算機程序代碼,當(dāng)該計算機程序代碼在計算機上運行時,使得該計算機執(zhí)行上述第一方面或第一方面任意一種可能的實現(xiàn)方式中的方法。