本公開涉及屏幕顯示,具體涉及一種應(yīng)用窗口控制方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、近年來,大屏手機(jī)、平板電腦等大屏終端的種類越來越多,其功能也逐漸豐富,給人們的生活、工作帶來了極大的便利。例如,平板電腦可以提供多窗口顯示模式,從而便于用戶對多個(gè)應(yīng)用同時(shí)使用,所謂多窗口顯示模式指的是顯示屏分為多個(gè)局部區(qū)域,每個(gè)局部區(qū)域顯示一個(gè)應(yīng)用窗口,應(yīng)用窗口內(nèi)顯示對應(yīng)的應(yīng)用程序的界面。相關(guān)技術(shù)中,平板電腦在多窗口顯示模式下可以對每個(gè)應(yīng)用窗口的模式、尺寸等進(jìn)行調(diào)整,但是調(diào)整過程中往往會出現(xiàn)閃爍、卡頓等問題,導(dǎo)致用戶的使用體驗(yàn)下降。
技術(shù)實(shí)現(xiàn)思路
1、為克服相關(guān)技術(shù)中存在的問題,本公開實(shí)施例提供一種應(yīng)用窗口控制方法、裝置、電子設(shè)備及存儲介質(zhì),用以解決相關(guān)技術(shù)中的缺陷。
2、根據(jù)本公開實(shí)施例的第一方面,提供一種應(yīng)用窗口控制方法,所述方法包括:
3、響應(yīng)于接收到針對應(yīng)用窗口的第一調(diào)節(jié)指令,利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面;
4、利用系統(tǒng)預(yù)設(shè)機(jī)制獲取所述應(yīng)用程序繪制的首幀第一界面,并將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并,以使所述圖層顯示所述首幀界面。
5、在本公開的一個(gè)實(shí)施例中,所述將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并,包括:
6、根據(jù)所述第一調(diào)節(jié)指令所指示的尺寸、形狀,以及所述應(yīng)用窗口的圖層的尺寸、形狀,生成首幀合并系數(shù);
7、根據(jù)所述首幀合并系數(shù),將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并。
8、在本公開的一個(gè)實(shí)施例中,所述方法還包括:
9、獲取所述應(yīng)用程序繪制的非首幀第一界面,根據(jù)所述應(yīng)用窗口的圖層當(dāng)前的尺寸、形狀,以及所述應(yīng)用窗口的圖層與所述首幀第一界面合并時(shí)的尺寸、形狀,對所述首幀合并系數(shù)進(jìn)行處理,得到當(dāng)前幀合并系數(shù);
10、根據(jù)所述當(dāng)前幀合并系數(shù),將所述非首幀第一界面與所述應(yīng)用窗口的圖層合并,以使所述圖層顯示所述非首幀第一界面。
11、在本公開的一個(gè)實(shí)施例中,所述方法還包括:
12、響應(yīng)于接收到針對應(yīng)用窗口的第二調(diào)節(jié)指令,且所述第二調(diào)節(jié)指令所指示的尺寸、形狀,與所述第一調(diào)節(jié)指令所指示的尺寸、形狀之間的差距滿足預(yù)設(shè)條件,利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第二調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第二調(diào)節(jié)指令所指示的尺寸、形狀的第二界面;
13、利用系統(tǒng)預(yù)設(shè)機(jī)制獲取所述應(yīng)用程序繪制的首幀第二界面,并將所述首幀第二界面與所述應(yīng)用窗口的圖層進(jìn)行合并,以使所述圖層顯示所述首幀第二界面。
14、在本公開的一個(gè)實(shí)施例中,所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的模式或更改所述應(yīng)用窗口的尺寸、形狀;
15、所述第二調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的尺寸、形狀。
16、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令包括指示更改所述應(yīng)用窗口的模式的情況下,所述利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面,包括:
17、利用transition機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
18、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的模式的指令的情況下,所述利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面,包括:
19、所述利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面,包括:
20、利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序重啟,并逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
21、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的尺寸、形狀的情況下,所述利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面,包括:
22、利用windoworganizer機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
23、在本公開的一個(gè)實(shí)施例中,所述方法還包括:
24、響應(yīng)于接收到針對所述應(yīng)用窗口的選中指令,利用transition機(jī)制將所述應(yīng)用窗口的圖層置頂,并與針對應(yīng)用窗口的指令相關(guān)聯(lián)。
25、在本公開的一個(gè)實(shí)施例中,所述方法還包括:
26、通過系統(tǒng)預(yù)設(shè)機(jī)制使無極手勢模塊接管最上層的應(yīng)用窗口的圖層,以使所述無極手勢模塊生成并實(shí)時(shí)更新所述應(yīng)用窗口的圖層動畫;
27、響應(yīng)于所述無極手勢模塊將所述應(yīng)用窗口由全屏拖動觸發(fā)切換至小窗,通過所述系統(tǒng)預(yù)設(shè)機(jī)制發(fā)起窗口模式切換事件,并將所述窗口模式切換事件發(fā)送至所述應(yīng)用窗口對應(yīng)的應(yīng)用程序,以使所述應(yīng)用窗口繪制畫面幀;
28、響應(yīng)于接收到應(yīng)用窗口繪制事件,將所述應(yīng)用窗口繪制事件與所述圖層動畫合并,以使所述圖層動畫顯示應(yīng)用窗口繪制事件攜帶的畫面幀。
29、在本公開的一個(gè)實(shí)施例中,所述方法還包括:
30、拖拽過程中實(shí)時(shí)通過系統(tǒng)預(yù)設(shè)機(jī)制向系統(tǒng)服務(wù)發(fā)起應(yīng)用窗口變化申請;
31、所述系統(tǒng)服務(wù)將所述應(yīng)用窗口變化申請發(fā)送至所述應(yīng)用窗口對應(yīng)的應(yīng)用程序;
32、所述應(yīng)用窗口申請布局更新、內(nèi)容繪制、將繪制的首個(gè)畫面幀添加至應(yīng)用窗口繪制事件,并將所述應(yīng)用窗口繪制事件發(fā)送至所述系統(tǒng)服務(wù);
33、所述系統(tǒng)服務(wù)通過所述系統(tǒng)預(yù)設(shè)機(jī)制通知無極手勢模塊,以使所述無極手勢模塊將所述首個(gè)畫面幀合并至所述應(yīng)用窗口的圖層動畫中。
34、根據(jù)本公開實(shí)施例的第二方面,提供一種應(yīng)用窗口控制裝置,所述裝置包括:
35、發(fā)送模塊,用于響應(yīng)于接收到針對應(yīng)用窗口的第一調(diào)節(jié)指令,利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面;
36、合并模塊,用于利用系統(tǒng)預(yù)設(shè)機(jī)制獲取所述應(yīng)用程序繪制的首幀第一界面,并將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并,以使所述圖層顯示所述首幀界面。
37、在本公開的一個(gè)實(shí)施例中,所述合并模塊用于將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并時(shí),用于:
38、根據(jù)所述第一調(diào)節(jié)指令所指示的尺寸、形狀,以及所述應(yīng)用窗口的圖層的尺寸、形狀,生成首幀合并系數(shù);
39、根據(jù)所述首幀合并系數(shù),將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并。
40、在本公開的一個(gè)實(shí)施例中,所述裝置還包括非首幀模塊,用于:
41、獲取所述應(yīng)用程序繪制的非首幀第一界面,根據(jù)所述應(yīng)用窗口的圖層當(dāng)前的尺寸、形狀,以及所述應(yīng)用窗口的圖層與所述首幀第一界面合并時(shí)的尺寸、形狀,對所述首幀合并系數(shù)進(jìn)行處理,得到當(dāng)前幀合并系數(shù);
42、根據(jù)所述當(dāng)前幀合并系數(shù),將所述非首幀第一界面與所述應(yīng)用窗口的圖層合并,以使所述圖層顯示所述非首幀第一界面。
43、在本公開的一個(gè)實(shí)施例中,所述裝置還包括跨檔位模塊,用于:
44、響應(yīng)于接收到針對應(yīng)用窗口的第二調(diào)節(jié)指令,且所述第二調(diào)節(jié)指令所指示的尺寸、形狀,與所述第一調(diào)節(jié)指令所指示的尺寸、形狀之間的差距滿足預(yù)設(shè)條件,利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第二調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第二調(diào)節(jié)指令所指示的尺寸、形狀的第二界面;
45、利用系統(tǒng)預(yù)設(shè)機(jī)制獲取所述應(yīng)用程序繪制的首幀第二界面,并將所述首幀第二界面與所述應(yīng)用窗口的圖層進(jìn)行合并,以使所述圖層顯示所述首幀第二界面。
46、在本公開的一個(gè)實(shí)施例中,所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的模式或更改所述應(yīng)用窗口的尺寸、形狀;
47、所述第二調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的尺寸、形狀。
48、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令包括指示更改所述應(yīng)用窗口的模式的情況下,所述發(fā)送模塊用于:
49、利用transition機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
50、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的模式的指令的情況下,所述發(fā)送模塊用于:
51、所述利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面,包括:
52、利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序重啟,并逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
53、在本公開的一個(gè)實(shí)施例中,在所述第一調(diào)節(jié)指令用于指示更改所述應(yīng)用窗口的尺寸、形狀的情況下,所述發(fā)送模塊用于:
54、利用windoworganizer機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面。
55、在本公開的一個(gè)實(shí)施例中,所述裝置還包括選中模塊,用于:
56、響應(yīng)于接收到針對所述應(yīng)用窗口的選中指令,利用transition機(jī)制將所述應(yīng)用窗口的圖層置頂,并與針對應(yīng)用窗口的指令相關(guān)聯(lián)。
57、在本公開的一個(gè)實(shí)施例中,所述裝置包括模式切換模塊,用于:
58、通過系統(tǒng)預(yù)設(shè)機(jī)制使無極手勢模塊接管最上層的應(yīng)用窗口的圖層,以使所述無極手勢模塊生成并實(shí)時(shí)更新所述應(yīng)用窗口的圖層動畫;
59、響應(yīng)于所述無極手勢模塊將所述應(yīng)用窗口由全屏拖動觸發(fā)切換至小窗,通過所述系統(tǒng)預(yù)設(shè)機(jī)制發(fā)起窗口模式切換事件,并將所述窗口模式切換事件發(fā)送至所述應(yīng)用窗口對應(yīng)的應(yīng)用程序,以使所述應(yīng)用窗口繪制畫面幀;
60、響應(yīng)于接收到應(yīng)用窗口繪制事件,將所述應(yīng)用窗口繪制事件與所述圖層動畫合并,以使所述圖層動畫顯示應(yīng)用窗口繪制事件攜帶的畫面幀。
61、在本公開的一個(gè)實(shí)施例中,所述裝置包括窗口變化模塊,用于:
62、拖拽過程中實(shí)時(shí)通過系統(tǒng)預(yù)設(shè)機(jī)制向系統(tǒng)服務(wù)發(fā)起應(yīng)用窗口變化申請;
63、所述系統(tǒng)服務(wù)將所述應(yīng)用窗口變化申請發(fā)送至所述應(yīng)用窗口對應(yīng)的應(yīng)用程序;
64、所述應(yīng)用窗口申請布局更新、內(nèi)容繪制、將繪制的首個(gè)畫面幀添加至應(yīng)用窗口繪制事件,并將所述應(yīng)用窗口繪制事件發(fā)送至所述系統(tǒng)服務(wù);
65、所述系統(tǒng)服務(wù)通過所述系統(tǒng)預(yù)設(shè)機(jī)制通知無極手勢模塊,以使所述無極手勢模塊將所述首個(gè)畫面幀合并至所述應(yīng)用窗口的圖層動畫中。
66、根據(jù)本公開實(shí)施例的第三方面,提供一種電子設(shè)備,所述電子設(shè)備包括存儲器、處理器,所述存儲器用于存儲可在處理器上運(yùn)行的計(jì)算機(jī)指令,所述處理器用于在執(zhí)行所述計(jì)算機(jī)指令時(shí)實(shí)現(xiàn)第一方面所述的應(yīng)用窗口控制方法。
67、根據(jù)本公開實(shí)施例的第四方面,提供一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面所述的方法。
68、本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
69、本公開實(shí)施例所提供的應(yīng)用窗口控制方法,可以響應(yīng)于接收到針對應(yīng)用窗口的第一調(diào)節(jié)指令,利用系統(tǒng)預(yù)設(shè)機(jī)制向所述應(yīng)用窗口對應(yīng)的應(yīng)用程序發(fā)送第一調(diào)節(jié)指令,以使所述應(yīng)用程序逐幀繪制所述第一調(diào)節(jié)指令所指示的尺寸、形狀的第一界面;進(jìn)而利用系統(tǒng)預(yù)設(shè)機(jī)制獲取所述應(yīng)用程序繪制的首幀第一界面,并將所述首幀第一界面與所述應(yīng)用窗口的圖層進(jìn)行合并,以使所述圖層顯示所述首幀界面。通過系統(tǒng)預(yù)設(shè)機(jī)制可以將應(yīng)用程序繪制的首幀畫面與應(yīng)用窗口的圖層進(jìn)行合并,從而使得應(yīng)用程序繪制的畫面幀可以合并至應(yīng)用窗口的圖層動畫中,實(shí)現(xiàn)應(yīng)用窗口調(diào)整(例如模式調(diào)整和尺寸、形狀調(diào)整等)前后的無縫切換,不會再出現(xiàn)閃爍、卡頓等影響用戶使用體驗(yàn)的問題。