国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用Activity渲染時(shí)間獲取方法和裝置的制造方法

      文檔序號:9810285閱讀:602來源:國知局
      一種應(yīng)用Activity渲染時(shí)間獲取方法和裝置的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用Activity清染時(shí)間獲取方法和一種應(yīng)用Activity渲染時(shí)間獲取裝置。
      【背景技術(shù)】
      [0002]隨著智能手機(jī)的發(fā)展,出現(xiàn)了多種支持智能手機(jī)的系統(tǒng)。比如Android(安卓)系統(tǒng)。Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于手機(jī)等移動(dòng)終端。
      [0003]隨著Android系統(tǒng)的市場占有率的增加,越來越多的開發(fā)者基于Android系統(tǒng)開發(fā)APP(applicat1n,應(yīng)用),使用戶使用Android手機(jī)更方便。對于開發(fā)者而言,為了保證所開發(fā)的APP的性能,會(huì)對各APP的性能進(jìn)行測試,以便后期進(jìn)一步的優(yōu)化。例如,獲取Android系統(tǒng)中各APP包含的每個(gè)Activity (Activity是Android的一個(gè)應(yīng)用程序組件,提供一個(gè)屏幕,用戶可以用來交互為了完成某項(xiàng)任務(wù))的渲染時(shí)間,從而可以對每個(gè)Activity的性能瓶頸有個(gè)時(shí)間上的量化。
      [0004]在先技術(shù)中,是利用Android的命令行工具Logcat,輸入命令獲取系統(tǒng)各對象等的創(chuàng)建時(shí)間、結(jié)束時(shí)間等記錄日志,然后從這些記錄日志中找到目標(biāo)的Activity的記錄去計(jì)算渲染時(shí)間,但是這種方法的可操作性比較差,尤其是對于不同Activity之間頻繁切換的情況,此方法的可操作性差等弊端會(huì)更明顯。

      【發(fā)明內(nèi)容】

      [0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種應(yīng)用Acti vity清染時(shí)間獲取方法和相應(yīng)的一種應(yīng)用Acti vity清染時(shí)間獲取
      目.ο
      [0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種應(yīng)用Activity渲染時(shí)間獲取方法,包括:
      [0007]在一目標(biāo)應(yīng)用的各個(gè)Activity啟動(dòng)時(shí),通過鉤取系統(tǒng)的Activity啟動(dòng)函數(shù),獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn);
      [0008]在所述Activity渲染完成時(shí),通過鉤取系統(tǒng)Activity渲染完成函數(shù),獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn);
      [0009]將所述第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),得到所述Activity的渲染時(shí)間。
      [0010]優(yōu)選地,在將所述第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),得到所述Activity的清染時(shí)間的步驟之后,還包括:
      [0011 ]將所述Activity的清染時(shí)間進(jìn)行展示。
      [0012]優(yōu)選地,將所述Activity的清染時(shí)間進(jìn)行展示的步驟包括:
      [0013]將所述Activity的清染時(shí)間以廣播的形式發(fā)送給第一進(jìn)程;
      [0014]所述第一進(jìn)程接收到所述Activity清染時(shí)間后,將所述Activity的清染時(shí)間進(jìn)行展示。
      [0015]優(yōu)選地,在所述將所述第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),得到所述Activity的清染時(shí)間的步驟之后,還包括:
      [0016 ]將所述Ac t i V i ty的清染時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;
      [0017]當(dāng)所述清染時(shí)間小于等于預(yù)定的時(shí)間閾值,則確定所述Activity的性能符合要求;
      [0018]當(dāng)所述清染時(shí)間大于預(yù)定的時(shí)間閾值,則確定所述Act i V i ty的性能不符合要求。
      [0019]優(yōu)選地,在確定所述Activity的性能不符合要求的步驟之后,還包括:
      [0020]針對所述Activity生成報(bào)警信息。
      [0021 ] 優(yōu)選地,在一目標(biāo)應(yīng)用的各個(gè)Activity啟動(dòng)時(shí),通過鉤取系統(tǒng)的Activity啟動(dòng)函數(shù),獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn)的步驟,包括:
      [0022]監(jiān)控所述目標(biāo)應(yīng)用針對一個(gè)Acti vity,是否調(diào)用OnCreate函數(shù),如果是,則通過第一鉤子函數(shù)鉤取所述OnCreate函數(shù);
      [0023]通過第一鉤子函數(shù)獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn)。
      [0024]優(yōu)選地,所述在所述Activity清染成功時(shí),通過鉤取Activity清染完成函數(shù),通過第二鉤子函數(shù)獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn)的步驟,包括:
      [0025]監(jiān)控所述目標(biāo)應(yīng)用針對所述Activity,是否調(diào)用OnWindowFocused函數(shù),如果是,則通過第二鉤子函數(shù)鉤取所述OnWindowFocused函數(shù);
      [0026]通過第二鉤子函數(shù)獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn)。
      [0027]優(yōu)選地,在監(jiān)控所述目標(biāo)應(yīng)用針對一個(gè)Activity,是否調(diào)用OnCreate函數(shù),如果通過第一鉤子函數(shù)鉤取所述OnCreate函數(shù)的步驟之前,還包括:
      [0028]將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中。
      [0029]優(yōu)選地,所述將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中的步驟包括:
      [0030]在系統(tǒng)啟動(dòng)時(shí),將系統(tǒng)自帶的初始孵化進(jìn)程替換為預(yù)定的第一孵化進(jìn)程;
      [0031 ] 通過所述第一孵化進(jìn)程將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中。
      [0032]優(yōu)選地,所述通過所述第一孵化進(jìn)程將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中的步驟,包括:
      [0033]通過所述第一孵化進(jìn)程監(jiān)控目標(biāo)應(yīng)用的應(yīng)用進(jìn)程是否開始啟動(dòng);
      [0034]如果應(yīng)用進(jìn)程開始啟動(dòng),則將第一鉤子函數(shù)和/或第二鉤子函數(shù)注入所述應(yīng)用進(jìn)程,完成應(yīng)用進(jìn)程的啟動(dòng)。
      [0035]依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用Activity渲染時(shí)間獲取裝置,包括:
      [0036]第一時(shí)間點(diǎn)獲取模塊,適于在一目標(biāo)應(yīng)用的各個(gè)Activity啟動(dòng)時(shí),通過鉤取系統(tǒng)的Activity啟動(dòng)函數(shù),獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn);
      [0037]第二時(shí)間點(diǎn)獲取模塊,適于在所述Activity清染完成時(shí),通過鉤取系統(tǒng)Activity渲染完成函數(shù),獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn);
      [0038]渲染時(shí)間獲取模塊,適于將所述第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),得到所述Activity的渲染時(shí)間。
      [0039]優(yōu)選地,在渲染時(shí)間獲取模塊之后,還包括:
      [0040]展示模塊,適于將所述Activity的渲染時(shí)間進(jìn)行展示。[0041 ]優(yōu)選地,所述展示模塊包括:
      [0042]渲染時(shí)間發(fā)送子模塊,適于將所述Activity的渲染時(shí)間以廣播的形式發(fā)送給第一進(jìn)程;
      [0043]渲染時(shí)間展示子模塊,適于所述第一進(jìn)程接收到所述Activity渲染時(shí)間后,將所述Activity的清染時(shí)間進(jìn)行展示。
      [0044]優(yōu)選地,在所述渲染時(shí)間獲取模塊之后,還包括:
      [0045]比較模塊,適于將所述Act i vi ty的清染時(shí)間與預(yù)定的時(shí)間閾值進(jìn)行比較;當(dāng)所述渲染時(shí)間小于等于預(yù)定的時(shí)間閾值,則進(jìn)入第一確認(rèn)模塊;當(dāng)所述渲染時(shí)間大于預(yù)定的時(shí)間閾值,則進(jìn)入第二確認(rèn)模塊;
      [0046]第一確認(rèn)模塊,適于確定所述Activity的性能符合要求;
      [0047]第二確認(rèn)模塊,適于確定所述Activity的性能不符合要求。
      [0048]優(yōu)選地,在第二確認(rèn)模塊之后,還包括:
      [0049]報(bào)警信息生成模塊,適于針對所述Activity生成報(bào)警信息。
      [0050]優(yōu)選地,所述第一時(shí)間點(diǎn)獲取模塊,包括:
      [°°511 第一監(jiān)控子模塊,適于監(jiān)控所述目標(biāo)應(yīng)用針對一個(gè)Activity,是否調(diào)用OnCreate函數(shù),如果是,則進(jìn)入第一鉤取子模塊;
      [0052]第一鉤取子模塊,適于通過第一鉤子函數(shù)鉤取所述OnCreate函數(shù);
      [0053]第一時(shí)間點(diǎn)獲取子模塊,適于通過第一鉤子函數(shù)獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn)。
      [0054]優(yōu)選地,所述第二時(shí)間點(diǎn)獲取模塊,包括:
      [0055]第二監(jiān)控子模塊,適于監(jiān)控所述目標(biāo)應(yīng)用針對所述Activity,是否調(diào)用OnWindowFocused函數(shù),如果是,則進(jìn)入第二鉤取子模塊;
      [0056]第二鉤取子模塊,適于通過第二鉤子函數(shù)鉤取所述OnWindowFocused函數(shù);
      [0057]第二時(shí)間點(diǎn)獲取子模塊,適于通過第二鉤子函數(shù)獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn)。
      [0058]優(yōu)選地,在第一時(shí)間點(diǎn)獲取模塊之前,還包括:
      [0059]函數(shù)注入模塊,適于將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中。
      [0060]優(yōu)選地,所述函數(shù)注入模塊,包括:
      [0061]孵化進(jìn)程替換子模塊,適于在系統(tǒng)啟動(dòng)時(shí),將系統(tǒng)自帶的初始孵化進(jìn)程替換為預(yù)定的第一孵化進(jìn)程;
      [0062]函數(shù)注入子模塊,適于通過所述第一孵化進(jìn)程將所述第一鉤子函數(shù)和第二鉤子函數(shù)注入目標(biāo)應(yīng)用的應(yīng)用進(jìn)程中。
      [0063]優(yōu)選地,所述函數(shù)注入子模塊,包括:
      [0064]啟動(dòng)監(jiān)控子模塊,適于通過所述第一孵化進(jìn)程監(jiān)控目標(biāo)應(yīng)用的應(yīng)用進(jìn)程是否開始啟動(dòng);如果應(yīng)用進(jìn)程開始啟動(dòng),則進(jìn)入鉤子函數(shù)注入子模塊;
      [0065]鉤子函數(shù)注入子模塊,適于將第一鉤子函數(shù)和/或第二鉤子函數(shù)注入所述應(yīng)用進(jìn)程,完成應(yīng)用進(jìn)程的啟動(dòng)。
      [0066]依據(jù)本發(fā)明的另一個(gè)方面,提供了一種應(yīng)用Activity渲染時(shí)間獲取設(shè)備,包括:
      [0067]存儲(chǔ)器,加載有多條可執(zhí)行指令;
      [0068]處理器,執(zhí)行所述多條可執(zhí)行指令;所述多條可執(zhí)行指令包括執(zhí)行以下步驟的方法:
      [0069]在一目標(biāo)應(yīng)用的各個(gè)Activity啟動(dòng)時(shí),通過鉤取系統(tǒng)的Activity啟動(dòng)函數(shù),獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn);
      [0070]在所述Activity渲染完成時(shí),通過鉤取系統(tǒng)Activity渲染完成函數(shù),獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn);
      [0071 ]將所述第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),得到所述Activity的渲染時(shí)間。
      [0072]根據(jù)本發(fā)明的一種應(yīng)用Activity渲染時(shí)間獲取方法可以一目標(biāo)應(yīng)用的各個(gè)Activity啟動(dòng)時(shí),通過鉤取系統(tǒng)的Activity啟動(dòng)函數(shù),獲取系統(tǒng)時(shí)間的第一時(shí)間點(diǎn),在各Activity渲染完成時(shí),通過鉤取系統(tǒng)Activity渲染完成函數(shù),獲取系統(tǒng)時(shí)間的第二時(shí)間點(diǎn),然后將第二時(shí)間點(diǎn)減去第一時(shí)間點(diǎn),即可得到各Activity的渲染時(shí)間,由此解決了利用An droid的命令行工具Logcat獲取記錄日志,再從記錄日志中查找相應(yīng)Activity記錄從而計(jì)算其清染時(shí)間,使Activity清染時(shí)間計(jì)算復(fù)雜,需要多次人工介入,尤其是對于不同Activity之間頻繁切換的情況下,對渲染時(shí)間的計(jì)算可操作性比較差等問題,取得了可以更方便、快捷的、自動(dòng)的計(jì)算Activity的清染時(shí)間,可操作性強(qiáng)的有益效果。
      [0073]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
      【附圖說明】
      [0074]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
      [0075]圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用Activity渲染時(shí)間獲取方法實(shí)施例的步驟流程圖;
      [0076]圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用Activity渲染時(shí)間獲取方法實(shí)施例的步驟流程圖;
      [0077]圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用Activity渲染時(shí)間獲取裝置實(shí)施例的結(jié)構(gòu)框圖;
      [0078]圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用Activity渲染時(shí)間獲取裝置實(shí)施例的結(jié)構(gòu)框圖;
      [0079]圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種應(yīng)用Activity渲染時(shí)間獲取設(shè)備實(shí)施例的結(jié)構(gòu)框圖。
      【具體實(shí)施方式】
      [0080]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠
      當(dāng)前第1頁1 2 3 4 5 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1