• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數據延遲加載方法及裝置制造方法及圖紙

    技術編號:14014739 閱讀:62 留言:0更新日期:2016-11-17 20:32
    本發明專利技術公開了一種數據延遲加載方法及裝置,其中,該方法包括:將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。與現有技術相比,本申請中通過上述步驟將數據加載消息放置到主線程消息隊列的最后,而主線程消息隊列中包含的其他消息包括View初始化消息,由此,可以在主線程中包含的View初始化消息執行完成后,即對應App界面啟動完成后再執行數據加載消息,加載該App界面所需加載的數據,從而避免了數據加載對App界面啟動的影響,提高了App界面的啟動速度。

    【技術實現步驟摘要】

    本專利技術涉及APP界面啟動
    ,更具體地說,涉及一種數據延遲加載方法及裝置。
    技術介紹
    Android App的啟動和界面的啟動,一般會伴隨著View的初始化和數據的獲取。但是,當界面所涉及的數據量對App來說相對較大時,界面在啟動的過程中花費的時間就相對較久,這個時間就會直接體現在界面的啟動速度之上,導致界面的啟動速度較慢。因此,現有技術中存在如果App界面所涉及的數據量較大會導致該界面的啟動速度較慢的問題。
    技術實現思路
    本專利技術的目的是提供一種數據延遲加載方法及裝置,以解決現有技術中存在的如果App界面所涉及的數據量較大會導致該界面的啟動速度較慢的問題。為了實現上述目的,本專利技術提供如下技術方案:一種數據延遲加載方法,包括:將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。優選的,將放置消息放置到View消息隊列的最后,包括:利用DecorView的Post()方法將所述放置消息放置到View消息隊列的最后。優選的,執行所述放置消息,包括:在perform Traversals()方法中執行所述放置消息。優選的,將所述數據加載消息放置到主線程消息隊列的最后之后,還包括:在所述數據加載消息之后放置預設回調函數。一種數據延遲加載裝置,包括:第一放置模塊,用于將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行模塊,用于執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。優選的,所述第一放置模塊包括:放置單元,用于利用DecorView的Post()方法將所述放置消息放置到View消息隊列的最后。優選的,所述執行模塊包括:執行單元,用于在perform Traversals()方法中執行所述放置消息。優選的,還包括:第二放置模塊,用于在所述數據加載消息之后放置預設回調函數。本專利技術提供的一種數據延遲加載方法及裝置,其中,該方法包括:將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。與現有技術相比,本申請中通過上述步驟將數據加載消息放置到主線程消息隊列的最后,而主線程消息隊列中包含的其他消息包括View初始化消息,由此,可以在主線程中包含的View初始化消息執行完成后,即對應App界面啟動完成后再執行數據加載消息,加載該App界面所需加載的數據,從而避免了數據加載對App界面啟動的影響,提高了App界面的啟動速度。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。圖1為本專利技術實施例提供的一種數據延遲加載方法的流程圖;圖2為本專利技術實施例提供的一種數據延遲加載方法中在Android開發中具有的界面渲染回調示意圖;圖3為本專利技術實施例提供的一種數據延遲加載裝置的結構示意圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。請參閱圖1,其示出了本專利技術實施例提供的一種數據延遲加載方法的流程圖,可以包括以下步驟:S11:將放置消息放置到View消息隊列的最后,放置消息包含有數據加載消息。需要說明的是,View消息隊列中包含的消息即為在App界面啟動過程中所涉及的View初始化消息及數據加載消息,其中,View初始化消息即為通過執行這些消息實現View的初始化,進而顯示App界面,而數據加載消息即為通過執行該消息實現數據的獲取,供App使用。通常View消息隊列中的消息需被發送至主線程消息隊列中,以使得主線程對相關消息進行執行。通過將包含數據加載消息的放置消息放置到View消息隊列的最后,能夠保證該放置消息最后被執行,也即使得放置消息中包含的數據加載消息被放置到主線程消息隊列的最后。S12:執行放置消息,以將數據加載消息放置到主線程消息隊列的最后。放置消息即為將數據加載消息放置到主線程消息隊列最后的消息,因此,執行放置消息的過程即為將數據加載消息放到主線程消息隊列最后的過程。由此,能夠使得數據加載消息在其他消息全部執行完成后再執行,也即在View初始化消息執行完成且完成界面的啟動后再執行,從而嚴格區分了界面的渲染和數據的加載,細化了界面的生命周期,避免了數據的加載對界面的渲染造成影響。與現有技術相比,本申請中通過上述步驟將數據加載消息放置到主線程消息隊列的最后,而主線程消息隊列中包含的其他消息包括View初始化消息,由此,可以在主線程中包含的View初始化消息執行完成后,即對應App界面啟動完成后再執行數據加載消息,加載該App界面所需加載的數據,從而避免了數據加載對App界面啟動的影響,提高了App界面的啟動速度。需要說明的是,對于數據需要從數據庫或者配置文件抑或是從網絡中獲取的App界面,本專利技術提供的上述步驟實際上為尋找合適的數據加載點,以達到先渲染界面,再加載數據的目的。具體來說,在Android開發中,具有如圖2所示的界面渲染回調,包括onCreate()方法、onResume()方法等。在這些對界面元素的生命周期的回調中,可以實現數據的加載,進而實現界面和數據的初始化,完成界面的啟動。但是,在onCreate()方法中進行數據的加載或者是異步線程的啟動都是需要消耗CPU時間的,而這部分數據加載的代碼并不會影響界面的渲染,但是卻和View初始化一起出現在界面渲染的過程中,進而導致界面啟動時間白白增加。專利技術人發現,在onCreate()方法等方法調用之后還存在一些沒有被聲明出來的方法被用來作為界面渲染的過程(即圖中的other funs),因此,可以選擇在這部分方法中對數據加載進行相關設置。在Activity的onCreate()方法調用之前,會調用attach()方法,在attach()方法調用的時候會創建一個PhoneWindow,這個PhoneWindow中有個DecorView,這個DecorView是所有Activity最底層的一個View,類為FrameLayout,其具有View的一切特性,且會在onCreate()方法中被初始化。Activity的onCreate()方法做了很多初始化的操作,包括PhoneWindow/DecorView/StartingView/setContentView等,但真正要設置為顯示則在Resume()的時候,不過這些對開發者是透明的,具體可以看ActivityThread的handleResumeActivity()方法,該方法包含于圖2中的other funs,這個方法中除了調用Activity的onResume()回調之外,還初始化了ViewRootImpl/ThreadedRenderer等。其中,View本文檔來自技高網...
    一種數據延遲加載方法及裝置

    【技術保護點】
    一種數據延遲加載方法,其特征在于,包括:將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。

    【技術特征摘要】
    1.一種數據延遲加載方法,其特征在于,包括:將放置消息放置到View消息隊列的最后,所述放置消息包含有數據加載消息;執行所述放置消息,以將所述數據加載消息放置到主線程消息隊列的最后。2.根據權利要求1所述的方法,其特征在于,將放置消息放置到View消息隊列的最后,包括:利用DecorView的Post()方法將所述放置消息放置到View消息隊列的最后。3.根據權利要求2所述的方法,其特征在于,執行所述放置消息,包括:在perform Traversals()方法中執行所述放置消息。4.根據權利要求1至3任一項所述的方法,其特征在于,將所述數據加載消息放置到主線程消息隊列的最后之后,還包括:在所述數據加載消息之后放置預設回調函數...

    【專利技術屬性】
    技術研發人員:唐沃源談應奇,
    申請(專利權)人:深圳云之家網絡有限公司,
    類型:發明
    國別省市:廣東;44

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码午夜成人1000部免费视频 | 亚洲日韩中文字幕无码一区| 中文字幕av无码一区二区三区电影| 精品无码国产AV一区二区三区| 亚洲一本大道无码av天堂| 免费看成人AA片无码视频吃奶| 亚洲大尺度无码无码专区| 亚洲另类无码一区二区三区| 亚洲?V无码成人精品区日韩| 无码久久精品国产亚洲Av影片| 精品无码人妻一区二区三区18| 中文人妻无码一区二区三区| 亚洲熟妇无码AV不卡在线播放 | 日韩久久无码免费毛片软件 | 亚洲AV无码乱码在线观看裸奔| 亚洲综合久久精品无码色欲| 人妻少妇AV无码一区二区| 亚洲av无码一区二区三区观看| 特级无码毛片免费视频| 无码不卡av东京热毛片| 国产成A人亚洲精V品无码性色| 无码一区二区三区亚洲人妻| 亚洲av永久无码嘿嘿嘿| 亚洲熟妇无码乱子AV电影| 国产精品亚洲专区无码不卡| 久久亚洲精品成人av无码网站 | 日韩网红少妇无码视频香港| 人妻无码一区二区视频| 精品无码久久久久久国产| 久久Av无码精品人妻系列 | 日韩精品无码一区二区三区不卡 | 无码免费又爽又高潮喷水的视频| 熟妇人妻中文字幕无码老熟妇| 中文无码日韩欧免费视频| 无翼乌工口肉肉无遮挡无码18| av无码久久久久不卡免费网站| 无码精品A∨在线观看| 无码日韩精品一区二区三区免费| 丰满少妇人妻无码| 国产成人无码精品久久久性色| 免费无码看av的网站|