[發明專利]識別安卓系統繪制線程的方法、裝置、移動終端及存儲介質有效
| 申請號: | 202110239090.X | 申請日: | 2021-03-03 |
| 公開(公告)號: | CN113051047B | 公開(公告)日: | 2023-06-27 |
| 發明(設計)人: | 丁唐;王斌宏 | 申請(專利權)人: | 馭新智行科技(寧波)有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/52;G06F9/54 |
| 代理公司: | 深圳紫藤知識產權代理有限公司 44570 | 代理人: | 陳丹 |
| 地址: | 315800 浙江省寧波市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 識別 系統 繪制 線程 方法 裝置 移動 終端 存儲 介質 | ||
1.一種識別安卓系統繪制線程的方法,用于基于安卓操作系統的客戶端,其特征在于,包括以下步驟:
創建多個線程,所述線程包括應用進程的主線程、安卓系統的硬件渲染線程和自定義線程中的一種或多種線程;
通過線程進行跨進程通信并申請圖形緩存區,調用BufferQueue的QueueBuffer函數將客戶端繪制好的圖形內容遞交給系統圖形緩沖區;
根據進程狀態切換時的狀態識別線程任務,識別當前運行線程,標記線程當前的task_struct為ui_thread,得到繪制線程狀態;
根據進程狀態切換時的狀態識別線程任務,若不是當前運行線程,則重置繪制線程狀態;
當前運行進程調用服務器并繪制應用,繪制應用中通過SurfaceFlinger控制窗口的合成并進行繪制;
所述SurfaceFlinger與HWComposer連接,合成的幀緩存區發送至HWComposer,使其作為目標緩存區;
所述根據進程狀態切換時的狀態識別線程任務的步驟包括:
當前運行線程為主線程時,通過是否是前臺狀態進行繪制線程狀態的設置,若是前臺狀態,則標記為繪制線程并進入繪制流程,否則重置繪制線程狀態并采用默認優先級進入流程;
當前運行線程為硬件渲染線程時,對于繪制線程在進行初始化時設置繪制狀態,并設置到內核維護的線程表中,當識別為設置繪制標志則進入繪制流程,否則并采用默認優先級進入流程;
當前運行線程為自定義線程時,在繪制接口queueBuffer中進行識別并進行繪制線程狀態的設置,當有客戶端通過繪制接口queueBuffer進行圖形緩存填充時,標記調用端為繪制線程,當識別為設置繪制標志則進入繪制流程,否則并采用默認優先級進入流程;根據進程狀態切換時的狀態識別線程任務,若不是當前運行線程,則重置繪制線程狀態。
2.根據權利要求1所述的識別安卓系統繪制線程的方法,其特征在于,根據進程狀態切換時的狀態識別線程任務的步驟包括:
當前運行線程為主線程時,所述主線程的識別通過更新進程狀態,再進行判斷是否是前臺狀態進行繪制線程狀態的設置。
3.根據權利要求1所述的識別安卓系統繪制線程的方法,其特征在于,所述通過線程進行跨進程通信并申請圖形緩存區步驟中:
所述圖形緩存區為GraphicBuffer。
4.根據權利要求1所述的識別安卓系統繪制線程的方法,其特征在于,所述識別安卓系統繪制線程的方法步驟還包括:
當前運行線程發送繪制請求,調用接口控制ioctl函數,所述ioctl函數對所述繪制請求進行解析。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于馭新智行科技(寧波)有限公司,未經馭新智行科技(寧波)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110239090.X/1.html,轉載請聲明來源鉆瓜專利網。





