更新應用程序的方法及裝置制造方法

            文檔序號:6632055閱讀:311來源:國知局
            更新應用程序的方法及裝置制造方法
            【專利摘要】本公開實施例提供了更新應用程序的方法及裝置,其中的方法包括:獲取終端設備處理器的核數;根據所述核數在第一語言環境下開啟多個更新線程;在每個更新線程中,通過預設的接口調用由第二語言實現的更新函數以對第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從第一列表移至第二列表;在收到一個更新線程對一個應用程序更新完成的響應后,將更新完成的應用程序從第二列表中移除。本公開中使用預設的接口例如JNI接口,使一種語言下的更新線程可以直接調用另一種語言下的更新函數,不但避免了因建立socket連接而導致的時間及系統資源消耗,且可同時進行多線程更新,大大提高了應用程序同時需要更新時的更新效率。
            【專利說明】更新應用程序的方法及裝置

            【技術領域】
            [0001] 本公開涉及終端設備程序處理【技術領域】,尤其涉及更新應用程序的方法及裝置。

            【背景技術】
            [0002] 隨著智能手機、平板電腦等終端設備的硬件配置不斷提升、功能日益豐富,用戶對 這些終端設備的需求也在增強,往往會在終端設備中安裝各種各樣的應用程序,這就使得 終端設備上的應用程序越來越多。
            [0003] 并且,為了提升用戶體驗,移動終端的操作系統也會經常進行升級操作。在 Android系統中,每進行一次系統升級,會對操作系統中所有的應用程序進行更新(也可稱 為優化),以使其在升級后的操作系統中可以快速運行。其中,對應用程序的更新操作以 0DEX操作為主。這樣每次在系統升級完畢后的第一次開機啟動時,因為要依次更新眾多應 用程序,會導致啟動過程非常慢,耗費很長的時間。
            [0004] 以安裝了 Android安卓系統的手機為例,安卓系統通常使用Java語言作為開發工 具,但由于某些原因,應用程序更新的底層代碼會使用Native語言(例如C/C++語言,C/ C++等語目相對于Java來講可稱為Native語目,或者原生語目、本地語目)來實現,所以 應用程序的更新就會涉及到Native語言層與Java層之間的通信。在相關技術中,安卓系 統采用的是socket通信機制,即在Java層與Native語言層之間建立socket連接,通過 socket連接實現應用程序的更新。然而,建立socket連接本身就會消耗一定的時間及系統 資源,而且該通信機制也決定了更新過程只能是單線程執行,即逐一更新各應用程序,所以 效率很低,造成系統升級完畢后的第一次開機啟動過程非常耗時。


            【發明內容】

            [0005] 為克服相關技術中存在的問題,本公開提供更新應用程序的方法及裝置,以解決 同時更新多個應用程序時耗時較長的問題。
            [0006] 根據本公開實施例的第一方面,提供一種更新應用程序的方法,所述方法包括:
            [0007] 獲取第一列表,所述第一列表為待更新的應用程序的列表;
            [0008] 創建第二列表,所述第二列表為正在更新的應用程序的列表;
            [0009] 獲取終端設備處理器的核數;
            [0010] 根據所述核數在第一語言環境下同時開啟多個更新線程;
            [0011] 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所 述第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至 所述第二列表;
            [0012] 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用 程序從所述第二列表中移除。
            [0013] 可選的,所述第一語言為Java,所述第二語言為C/C++,所述預設的接口為Java本 地接口 JNI。
            [0014] 可選的,所述通過預設的接口調用由第二語言實現的更新函數,包括:
            [0015] 在負責應用程序更新的Java類中加載指定C文件編譯后生成的類庫,其中所述 c文件中含有所述使用C/C++實現的更新函數且所述C文件中引入了 JNI. h頭文件,所述 Java類中聲明了所述更新函數;
            [0016] 在所述Java類的所述更新線程中,直接調用所述更新函數。
            [0017] 可選的,所述多個更新線程的個數為:
            [0018] 如果 M> = N,則 a = N ;如果 M〈N,則 a = Μ ;
            [0019] 其中,a為所述多個更新線程的個數,Μ為所述第一列表中應用程序的個數,Ν為所 述處理器的核數。
            [0020] 可選的,所述方法還包括:
            [0021] 在收到一個更新線程對一個應用程序更新完成的響應后,判斷所述第一列表中是 否還有應用程序;
            [0022] 如果所述第一列表中沒有應用程序,則結束當前的更新線程;
            [0023] 如果所述第一列表中仍有應用程序,則繼續在所述第一列表中選取一個應用程序 通過當前的更新線程進行更新。
            [0024] 根據本公開實施例的第二方面,提供一種更新應用程序的裝置,所述裝置包括:
            [0025] 列表操作模塊,用于獲取第一列表,所述第一列表為待更新的應用程序的列表;創 建第二列表,所述第二列表為正在更新的應用程序的列表;將正在被更新的應用程序從所 述第一列表移至所述第二列表;以及,在收到一個更新線程對一個應用程序更新完成的響 應后,將所述更新完成的應用程序從所述第二列表中移除;
            [0026] 線程控制模塊,用于獲取終端設備處理器的核數;根據所述核數在第一語言環境 下同時開啟多個更新線程;
            [0027] 更新執行模塊,用于在每個所述更新線程中,通過預設的接口調用由第二語言實 現的更新函數以對所述第一列表中的一個應用程序進行更新。
            [0028] 可選的,所述第一語言為Java,所述第二語言為C/C++,所述預設的接口為Java本 地接口 JNI。
            [0029] 可選的,所述更新執行模塊包括:
            [0030] 調用準備子模塊,用于在負責應用程序更新的Java類中加載指定C文件編譯后生 成的類庫,其中所述C文件中含有所述使用C/C++實現的更新函數且所述C文件中引入了 JNI. h頭文件,所述Java類中聲明了所述更新函數;
            [0031] 調用執行子模塊,用于在所述Java類的所述更新線程中,直接調用所述更新函 數。
            [0032] 可選的,所述線程控制模塊還用于:
            [0033] 在收到一個更新線程對一個應用程序更新完成的響應后,判斷所述第一列表中是 否還有應用程序;如果所述第一列表中沒有應用程序,則結束當前的更新線程;如果所述 第一列表中仍有應用程序,則繼續在所述第一列表中選取一個應用程序通過當前的更新線 程進行更新。
            [0034] 根據本公開實施例的第三方面,提供一種更新應用程序的裝置,包括:
            [0035] 處理器;
            [0036] 用于存儲處理器可執行指令的存儲器;
            [0037] 其中,所述處理器被配置為:
            [0038] 獲取第一列表,所述第一列表為待更新的應用程序的列表;
            [0039] 創建第二列表,所述第二列表為正在更新的應用程序的列表;
            [0040] 獲取終端設備處理器的核數;
            [0041] 根據所述核數在第一語言環境下同時開啟多個更新線程;
            [0042] 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所 述第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至 所述第二列表;
            [0043] 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用 程序從所述第二列表中移除。
            [0044] 本公開的實施例提供的技術方案可以包括以下有益效果:
            [0045] 在本公開實施例中,不再使用socket通信技術,也即并未在兩種語言之間建立 socket連接,而是使用預設的接口,例如JNI接口,使一種語言下的更新線程可以直接調用 另一種語言下的更新函數,從而不但避免了因建立socket連接而導致的時間及系統資源 的消耗,而且將單線程的更新轉變為同時進行的多線程更新,大大提高了眾多應用程序同 時需要更新時的更新效率,縮短了開機啟動時間。
            [0046] 應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不 能限制本公開。

            【專利附圖】

            【附圖說明】
            [0047] 此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施 例,并與說明書一起用于解釋本發明的原理。
            [0048] 圖1是根據一示例性實施例示出的一種更新應用程序的方法的流程圖;
            [0049] 圖2是根據一示例性實施例示出的一種更新應用程序的方法的流程圖;
            [0050] 圖3是根據一示例性實施例示出的一種更新應用程序的方法的流程圖;
            [0051] 圖4是相關技術中更新應用程序的不意圖;
            [0052] 圖5是根據一示例性實施例示出的更新應用程序的原理圖;
            [0053] 圖6是根據一示例性實施例示出的一種更新應用程序的方法的流程圖;
            [0054] 圖7是根據一示例性實施例示出的一種更新應用程序的裝置的框圖;
            [0055] 圖8是根據一示例性實施例示出的一種更新應用程序的裝置的框圖;
            [0056] 圖9是根據一示例性實施例示出的一種用于更新應用程序的裝置的框圖。

            【具體實施方式】
            [0057] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
            [0058] 圖1是根據一示例性實施例示出的一種更新應用程序的方法的流程圖。該方法可 以用于手機、平板電腦等終端設備。參見圖1所示,該方法可以包括:
            [0059] 在步驟S101中,獲取第一列表,所述第一列表為待更新的應用程序的列表;創建 第二列表,所述第二列表為正在更新的應用程序的列表。
            [0060] 在本實施例中,因為待更新的應用程序眾多,所以使用這兩個列表進行管理,第一 列表用于存儲待更新應用程序的相關信息,第二列表用于存儲正在更新的應用程序的相關 信息。在更新過程中,眾多待更新應用程序的相關信息會從第一列表逐漸轉移至第二列表, 從而使系統可以掌控更新的過程。
            [0061] 在步驟S102中,獲取終端設備處理器的核數;根據所述核數在第一語言環境下同 時開啟多個更新線程。
            [0062] 本實施例中使用多線程進行并行更新,以提高更新效率。
            [0063] 作為示例,所述多個更新線程的個數為:
            [0064] 如果 M> = N,則 a = N ;如果 M〈N,則 a = Μ ;
            [0065] 其中,a為所述多個更新線程的個數,Μ為所述第一列表中應用程序的個數,Ν為所 述處理器的核數。
            [0066] 在步驟S103中,在每個所述更新線程中,通過預設的接口調用由第二語言實現的 更新函數以對所述第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所 述第一列表移至所述第二列表。
            [0067] 在本實施例中,使用預設的接口實現兩種語言環境的融合。對于預設的接口的具 體實現形式本實施例并不進行限制。
            [0068] 作為示例,在一種場景下,所述第一語言為Java,所述第二語言為C/C++,所述預 設的接口為Java本地接口 JNI。
            [0069] JNI (Java Native Interface, Java 本地接口)是 Java 提供的一個重要的功能, 它使得用諸如C/C++等語言編寫的代碼可以與運行于JVM(Java Virtual Machine, Java 虛擬機)中的Java代碼集成。JNI能滿足開發者在Java代碼中訪問Native模塊的需求。 JNI的出現使得開發者既可以利用Java語言跨平臺、類庫豐富、開發便捷等特點,又可以利 用Native語言的高效。
            [0070] 實際上,JNI是JVM實現中的一部分,因此Native語言和Java代碼都運行在JVM 的宿主環境(Host Environment)。此外,JNI是一個雙向的接口:開發者不僅可以通過JNI 在Java代碼中訪問Native模塊,還可以在Native代碼中嵌入一個JVM,并通過JNI訪問運 行于其中的Java模塊。可見,JNI擔任了一個橋梁的角色,它將JVM與Native模塊聯系起 來,從而實現了 Java代碼與Native代碼的互訪。
            [0071] 在步驟S104中,在收到一個更新線程對一個應用程序更新完成的響應后,將所述 更新完成的應用程序從所述第二列表中移除。
            [0072] 參見圖2所示,在本實施例或本公開其他某些實施例中,所述通過預設的接口調 用由第二語言實現的更新函數,包括:
            [0073] 在步驟S201中,在負責應用程序更新的Java類中加載指定C文件編譯后生成的 類庫,其中所述C文件中含有所述使用C/C++實現的更新函數且所述C文件中引入了 JNI. h頭文件,所述Java類中聲明了所述更新函數。
            [0074] 在步驟S202中,在所述Java類的所述更新線程中,直接調用所述更新函數。
            [0075] 參見圖3所示,在本實施例或本公開其他某些實施例中,所述方法還可以包括:
            [0076] 在步驟S301中,在收到一個更新線程對一個應用程序更新完成的響應后,判斷所 述第一列表中是否還有應用程序;
            [0077] 在步驟S302中,如果所述第一列表中沒有應用程序,則結束當前的更新線程;
            [0078] 在步驟S303中,如果所述第一列表中仍有應用程序,則繼續在所述第一列表中選 取一個應用程序通過當前的更新線程進行更新。
            [0079] 在本實施例中,并未使用socket通信技術,也即并未在兩種語言之間建立socket 連接,而是使用預設的接口,例如JNI接口,使一種語言下的更新線程可以直接調用另一種 語言下的更新函數,從而不但避免了因建立socket連接而導致的時間及系統資源的消耗, 而且將單線程的更新轉變為同時進行的多線程更新,大大提高了眾多應用程序同時需要更 新時的更新效率,縮短了開機啟動時間。
            [0080] 下面結合一個具體場景對本公開的方案作進一步說明。
            [0081] 在安卓系統下,應用程序的APK的classes, dex文件中含有應用程序的運行代碼。 為了提高應用程序的啟動、運行的速度,可以使用0DEX技術。所謂0DEX技術,簡言之即將 classes, dex中的代碼預先提取出來生成一個dex文件。
            [0082] 當系統升級后,原先提取生成的dex文件已失效,需要重新進行提取,這一重新提 取的過程即上文所說的應用程序的更新。該提取過程涉及到Java層與C層之間的通信。
            [0083] 在相關技術中,Java層與C層之間的通信使用了 socket技術。作為示例可參見 圖4所示。在圖4中,Java層(相當于socket通信中的客戶端)與C層(相當于socket 通信中的服務器端)分別創建socket ;C層在執行了 "bindO "等一系列操作之后等待 Java層的連接Java層通過"Connect ()"請求連接;雙方在經過了請求(request)及應答 (response)之后連接成功(connected),然后進行讀寫操作,以對應用程序進行逐個更新; 最后關閉socket。
            [0084] 建立socket連接本身就會消耗一定的時間及系統資源,而且該通信機制也決定 了更新過程只能是單線程執行,即逐一更新各應用程序,所以效率很低,造成系統升級完畢 后的第一次開機啟動過程非常耗時。
            [0085] 在本實施例中,不再使用socket,而是使用JNI。可參見圖5所示。
            [0086] 圖5是根據一示例性實施例示出的更新應用程序的原理圖:
            [0087] 在圖5中,首先手機在啟動時會開啟用于應用程序更新的Android服務 (PackageManagerService),獲取需要更新的應用程序列表,然后根據CPU核數開啟多個線 程,在每個線程中均調用更新應用程序的函數,也即通過JNI調用C語言實現的native函 數(desopt函數),然后進行應用程序的更新。
            [0088] 具體的,參見圖6所示,可以包括:
            [0089] 在步驟S601中,在用于進行應用程序更新的Java類中聲明一個native函數。
            [0090] 例如:
            [0091] public native int doDexOpt(String apkPath, String uid, int isPublic)
            [0092] 在步驟S602中,使用C/C++語言實現上述native函數。這個native函數用于完 成對應用程序進行更新的具體工作。
            [0093] 在步驟S603中,創建JNI目錄(如果工程已有該項目,則可以直接使用),在JNI 目錄下創建一個C文件,并在該C文件中包含上述native函數,并引入jni. h頭文件。
            [0094] 作為示例,倉ll建的c文件可以為update_app. c文件,實現如下:
            [0095] ttinciude <jni.h> static int doDexOpt: (JXfEnv 承 env5 jobject object, jstringapk path, jstringuid, j 1 nt is___pub 11c, char reply[ΚΚΡΙΛ.......MAXj) { //實現方法參考commands, c文件中的 // int dcxopt(const char *apk------path, uid------t uid, int is------public) }
            [0096]
            [0097] 在步驟S604中,修改Android, mk文件,從而使上述c文件也能被編譯。編譯后會 自動生成一個· so文件。
            [0098] 作為示例,可以在Android, mk文件中修改添加下面兩句
            [0099] L0CAL_C_INCLUDES: = $(L0CAL_PATH)/include
            [0100] L0CAL_SRC_FILES+ = jni/update_app. c
            [0101] 編譯生成 libupdate_app. so 文件。
            [0102] 在步驟S605中,在上述用于進行應用程序更新的Java類中,加載所述c文件。這 樣便可以直接調用上述native函數對應用程序進行更新。
            [0103] 例如,在類開始處添加上述c文件,去掉文件后綴,即
            [0104] static {
            [0105] System. loadLibrary("update_app");
            [0106] }
            [0107] 在步驟S606中,系統啟動過程中,得到待更新的應用程序的列表x,并創建正在更 新中的應用列表y。例如待的應用程序有Μ個。
            [0108] 在步驟S607中,得到CPU的核數。例如核數有Ν個。
            [0109] 在步驟S608中,同時開啟a個線程,在每個線程中,將相應應用程序的apk路徑等 信息作為參數,直接調用上述native函數,從而實現同時對a個應用程序進行更新;在對某 一個應用程序開始更新時,將該應用程序從X列表中移除,并且加入y列表。
            [0110] 其中a的計算算法可以是:
            [0111] if M> = N, then a = N, if M<N, then a = M
            [0112] 在步驟S609中,收到某個應用程序更新完成的響應后,從正在更新的應用列表y 中移除該應用程序的相關信息。判斷是否仍有待更新的應用程序,如果沒有,結束當前線 程,如果有,則發起對另一個應用程序的更新操作。
            [0113] 圖7是根據一示例性實施例示出的一種更新應用程序的裝置的框圖。該裝置可以 用于手機、平板電腦等終端設備。參見圖7所示,該裝置可以包括:
            [0114] 列表操作模塊701,用于獲取第一列表,所述第一列表為待更新的應用程序的列 表;創建第二列表,所述第二列表為正在更新的應用程序的列表;將正在被更新的應用程 序從所述第一列表移至所述第二列表;以及,在收到一個更新線程對一個應用程序更新完 成的響應后,將所述更新完成的應用程序從所述第二列表中移除;
            [0115] 線程控制模塊702,用于獲取終端設備處理器的核數;根據所述核數在第一語言 環境下同時開啟多個更新線程;
            [0116] 更新執行模塊703,用于在每個所述更新線程中,通過預設的接口調用由第二語言 實現的更新函數以對所述第一列表中的一個應用程序進行更新。
            [0117] 在本實施例或本公開其他某些實施例中,所述第一語言為Java,所述第二語言為 C/C++,所述預設的接口為Java本地接口 JNI。
            [0118] 參見圖8所示,在本實施例或本公開其他某些實施例中,所述更新執行模塊703可 以包括:
            [0119] 調用準備子模塊7031,用于在負責應用程序更新的Java類中加載指定C文件編譯 后生成的類庫,其中所述C文件中含有所述使用C/C++實現的更新函數且所述C文件中引 入了 JNI. h頭文件,所述Java類中聲明了所述更新函數;
            [0120] 調用執行子模塊7032,用于在所述Java類的所述更新線程中,直接調用所述更新 函數。
            [0121] 在本實施例或本公開其他某些實施例中,所述線程控制模塊702還可以用于:
            [0122] 在收到一個更新線程對一個應用程序更新完成的響應后,判斷所述第一列表中是 否還有應用程序;如果所述第一列表中沒有應用程序,則結束當前的更新線程;如果所述 第一列表中仍有應用程序,則繼續在所述第一列表中選取一個應用程序通過當前的更新線 程進行更新。
            [0123] 關于上述實施例中的裝置,其中各個模塊執行操作的具體方式已經在有關該方法 的實施例中進行了詳細描述,此處將不做詳細闡述說明。
            [0124] 本公開還提供了一種更新應用程序的裝置,包括:
            [0125] 處理器;
            [0126] 用于存儲處理器可執行指令的存儲器;
            [0127] 其中,所述處理器被配置為:
            [0128] 獲取第一列表,所述第一列表為待更新的應用程序的列表;
            [0129] 創建第二列表,所述第二列表為正在更新的應用程序的列表;
            [0130] 獲取終端設備處理器的核數;
            [0131] 根據所述核數在第一語言環境下同時開啟多個更新線程;
            [0132] 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所 述第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至 所述第二列表;
            [0133] 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用 程序從所述第二列表中移除。
            [0134] 本公開還公開了一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令 由終端設備的處理器執行時,使得終端設備能夠執行一種更新應用程序方法,所述方法包 括:
            [0135] 獲取第一列表,所述第一列表為待更新的應用程序的列表;
            [0136] 創建第二列表,所述第二列表為正在更新的應用程序的列表;
            [0137] 獲取終端設備處理器的核數;
            [0138] 根據所述核數在第一語言環境下同時開啟多個更新線程;
            [0139] 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所 述第一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至 所述第二列表;
            [0140] 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用 程序從所述第二列表中移除。
            [0141] 圖9是根據一示例性實施例示出的一種用于更新應用程序的裝置的框圖。例如, 該裝置2800可以是移動電話,計算機,數字廣播終端,消息收發設備,游戲控制臺,平板設 備,醫療設備,健身設備,個人數字助理等。
            [0142] 參照圖9,裝置2800可以包括以下一個或多個組件:處理組件2802,存儲器2804, 電源組件2806,多媒體組件2808,音頻組件2810,輸入/輸出(I/O)的接口 2812,傳感器組 件2814,以及通信組件2816。
            [0143] 處理組件2802通常控制裝置2800的整體操作,諸如與顯示,電話呼叫,數據通信, 相機操作和記錄操作相關聯的操作。處理組件2802可以包括一個或多個處理器2820來執 行指令,以完成上述的方法的全部或部分步驟。此外,處理組件2802可以包括一個或多個 模塊,便于處理組件2802和其他組件之間的交互。例如,處理組件2802可以包括多媒體模 塊,以方便多媒體組件2808和處理組件2802之間的交互。
            [0144] 存儲器2804被配置為存儲各種類型的數據以支持在設備2800的操作。這些數據 的示例包括用于在裝置2800上操作的任何應用程序或方法的指令,聯系人數據,電話簿數 據,消息,圖片,視頻等。存儲器2804可以由任何類型的易失性或非易失性存儲設備或者它 們的組合實現,如靜態隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPR0M),可 擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PR0M),只讀存儲器(R0M),磁存儲器, 快閃存儲器,磁盤或光盤。
            [0145] 電源組件2806為裝置2800的各種組件提供電力。電源組件2806可以包括電源 管理系統,一個或多個電源,及其他與為裝置2800生成、管理和分配電力相關聯的組件。
            [0146] 多媒體組件2808包括在所述裝置2800和用戶之間的提供一個輸出接口的屏幕。 在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面 板,屏幕可以被實現為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸 傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動 動作的邊界,而且還檢測與所述觸摸或滑動操作相關的持續時間和壓力。在一些實施例中, 多媒體組件2808包括一個前置攝像頭和/或后置攝像頭。當裝置2800處于操作模式,如 拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數據。每個 前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統或具有焦距和光學變焦能力。
            [0147] 音頻組件2810被配置為輸出和/或輸入音頻信號。例如,音頻組件2810包括一 個麥克風(MIC),當裝置2800處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥 克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器2804或 經由通信組件2816發送。在一些實施例中,音頻組件2810還包括一個揚聲器,用于輸出音 頻信號。
            [0148] I/O接口 2812為處理組件2802和外圍接口模塊之間提供接口,上述外圍接口模塊 可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和 鎖定按鈕。
            [0149] 傳感器組件2814包括一個或多個傳感器,用于為裝置2800提供各個方面的狀態 評估。例如,傳感器組件2814可以檢測到設備2800的打開/關閉狀態,組件的相對定位, 例如所述組件為裝置2800的顯示器和小鍵盤,傳感器組件2814還可以檢測裝置2800或裝 置2800 -個組件的位置改變,用戶與裝置2800接觸的存在或不存在,裝置2800方位或加 速/減速和裝置2800的溫度變化。傳感器組件2814可以包括接近傳感器,被配置用來在 沒有任何的物理接觸時檢測附近物體的存在。傳感器組件2814還可以包括光傳感器,如 CMOS或C⑶圖像傳感器,用于在成像應用中使用。在一些實施例中,該傳感器組件2814還 可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
            [0150] 通信組件2816被配置為便于裝置2800和其他設備之間有線或無線方式的通信。 裝置2800可以接入基于通信標準的無線網絡,如WiFi,2G或3G,或它們的組合。在一個示 例性實施例中,通信組件2816經由廣播信道接收來自外部廣播管理系統的廣播信號或廣 播相關信息。在一個示例性實施例中,所述通信組件2816還包括近場通信(NFC)模塊,以促 進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術,紅外數據協會(IrDA)技術, 超寬帶(UWB)技術,藍牙(BT)技術和其他技術來實現。
            [0151] 在示例性實施例中,裝置2800可以被一個或多個應用專用集成電路(ASIC)、數字 信號處理器(DSP)、數字信號處理設備(DSPD)、可編程邏輯器件(PLD)、現場可編程門陣列 (FPGA)、控制器、微控制器、微處理器或其他電子元件實現,用于執行上述方法。
            [0152] 在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例 如包括指令的存儲器2804,上述指令可由裝置2800的處理器2820執行以完成上述方法。例 如,所述非臨時性計算機可讀存儲介質可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、 軟盤和光數據存儲設備等。
            [0153] 本領域技術人員在考慮說明書及實踐這里公開的發明后,將容易想到本發明的其 它實施方案。本申請旨在涵蓋本發明的任何變型、用途或者適應性變化,這些變型、用途或 者適應性變化遵循本發明的一般性原理并包括本公開未公開的本【技術領域】中的公知常識 或慣用技術手段。說明書和實施例僅被視為示例性的,本發明的真正范圍和精神由下面的 權利要求指出。
            [0154] 應當理解的是,本發明并不局限于上面已經描述并在附圖中示出的精確結構,并 且可以在不脫離其范圍進行各種修改和改變。本發明的范圍僅由所附的權利要求來限制。
            【權利要求】
            1. 一種更新應用程序的方法,其特征在于,所述方法包括: 獲取第一列表,所述第一列表為待更新的應用程序的列表; 創建第二列表,所述第二列表為正在更新的應用程序的列表; 獲取終端設備處理器的核數; 根據所述核數在第一語言環境下同時開啟多個更新線程; 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所述第 一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至所述 第二列表; 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用程序 從所述第二列表中移除。
            2. 根據權利要求1所述的方法,其特征在于,所述第一語言為Java,所述第二語言為C/ C++,所述預設的接口為Java本地接口 JNI。
            3. 根據權利要求2所述的方法,其特征在于,所述通過預設的接口調用由第二語言實 現的更新函數,包括: 在負責應用程序更新的Java類中加載指定C文件編譯后生成的類庫,其中所述C文件 中含有所述使用C/C++實現的更新函數且所述C文件中引入了 JNI. h頭文件,所述Java類 中聲明了所述更新函數; 在所述Java類的所述更新線程中,直接調用所述更新函數。
            4. 根據權利要求1所述的方法,其特征在于,所述多個更新線程的個數為: 如果M> = N,則a = N ;如果M〈N,則a = Μ ; 其中,a為所述多個更新線程的個數,Μ為所述第一列表中應用程序的個數,Ν為所述處 理器的核數。
            5. 根據權利要求1所述的方法,其特征在于,所述方法還包括: 在收到一個更新線程對一個應用程序更新完成的響應后,判斷所述第一列表中是否還 有應用程序; 如果所述第一列表中沒有應用程序,則結束當前的更新線程; 如果所述第一列表中仍有應用程序,則繼續在所述第一列表中選取一個應用程序通過 當前的更新線程進行更新。
            6. -種更新應用程序的裝置,其特征在于,所述裝置包括: 列表操作模塊,用于獲取第一列表,所述第一列表為待更新的應用程序的列表;倉il建第 二列表,所述第二列表為正在更新的應用程序的列表;將正在被更新的應用程序從所述第 一列表移至所述第二列表;以及,在收到一個更新線程對一個應用程序更新完成的響應后, 將所述更新完成的應用程序從所述第二列表中移除; 線程控制模塊,用于獲取終端設備處理器的核數;根據所述核數在第一語言環境下同 時開啟多個更新線程; 更新執行模塊,用于在每個所述更新線程中,通過預設的接口調用由第二語言實現的 更新函數以對所述第一列表中的一個應用程序進行更新。
            7. 根據權利要求6所述的裝置,其特征在于,所述第一語言為Java,所述第二語言為C/ C++,所述預設的接口為Java本地接口 JNI。
            8. 根據權利要求7所述的裝置,其特征在于,所述更新執行模塊包括: 調用準備子模塊,用于在負責應用程序更新的Java類中加載指定C文件編譯后生成的 類庫,其中所述C文件中含有所述使用C/C++實現的更新函數且所述C文件中引入了 JNI. h頭文件,所述Java類中聲明了所述更新函數; 調用執行子模塊,用于在所述Java類的所述更新線程中,直接調用所述更新函數。
            9. 根據權利要求6所述的裝置,其特征在于,所述線程控制模塊還用于: 在收到一個更新線程對一個應用程序更新完成的響應后,判斷所述第一列表中是否還 有應用程序;如果所述第一列表中沒有應用程序,則結束當前的更新線程;如果所述第一 列表中仍有應用程序,則繼續在所述第一列表中選取一個應用程序通過當前的更新線程進 行更新。
            10. -種更新應用程序的裝置,其特征在于,包括: 處理器; 用于存儲處理器可執行指令的存儲器; 其中,所述處理器被配置為: 獲取第一列表,所述第一列表為待更新的應用程序的列表; 創建第二列表,所述第二列表為正在更新的應用程序的列表; 獲取終端設備處理器的核數; 根據所述核數在第一語言環境下同時開啟多個更新線程; 在每個所述更新線程中,通過預設的接口調用由第二語言實現的更新函數以對所述第 一列表中的一個應用程序進行更新,并將所述被更新的應用程序從所述第一列表移至所述 第二列表; 在收到一個更新線程對一個應用程序更新完成的響應后,將所述更新完成的應用程序 從所述第二列表中移除。
            【文檔編號】G06F9/445GK104281478SQ201410589917
            【公開日】2015年1月14日 申請日期:2014年10月28日 優先權日:2014年10月28日
            【發明者】續麗娜, 李明浩, 劉洪杰 申請人:小米科技有限責任公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品