備。
【附圖說明】
[0032] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可W 根據運些附圖獲得其它的附圖。
[0033] 圖1為本發明實施例調整圖片的方法流程示意圖;
[0034] 圖2為本發明實施例調整圖片的方法另一流程示意圖;
[0035]圖3為本發明實施例的圖片調整裝置結構示意圖;
[0036] 圖4為本發明實施例的圖片縮放比例獲取模塊結構示意圖;
[0037] 圖5為本發明實施例的終端設備性能信息上報模塊結構示意圖;
[0038] 圖6為本發明實施例的圖片調整裝置另一結構示意圖;
[0039]圖7為本發明實施例的圖片調整系統結構示意圖。
【具體實施方式】
[0040] 下面結合附圖對本發明實施例進行詳細描述。
[0041] 應當明確,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基 于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其 它實施例,都屬于本發明保護的范圍。
[0042] 圖1為本發明實施例調整圖片的方法流程示意圖。參見圖1,該方法包括:
[0043] 步驟101,獲取當前運行的應用程序場景所對應的即時內存峰值,查詢內存闊值配 置表集中所述當前運行的應用程序場景對應的內存闊值配置表,得到所述即時內存峰值對 應的圖片縮放比例;
[0044] 本步驟中,作為一可選實施例,獲取當前運行的應用程序場景所對應的即時內存 峰值包括:
[0045] 獲取運行的應用程序場景當前時刻的內存峰值,或在預先設置的即時時間段內, 計算運行的應用程序場景的內存峰值的平均值,得到即時內存峰值。
[0046] 作為一可選實施例,獲取運行的應用程序場景當前時刻的內存峰值包括:
[0047] All,調用An化oid操作系統中的激活類(Activity)服務;
[0048]A12,通過激活類服務中的Activity管理器獲取內存對象;
[0049]A13,從內存對象中提取內存峰值。
[0050] 可W利用如下的程序代碼段獲取應用程序場景的內存峰值:
[0051]ActivityMana邑eram=(ActivityMana邑er)mContext. getSystemService(Context.ACTIVnY-WRVICE);
[0052]ActivityManager.Memoryinfomi=newActivityManager.Memoryinfo0 ;
[0053]am.getMemoiylnfo(mi);
[0054] 在該程序代碼段中,還可W進一步獲取終端設備類型W及圖片的縮放比例等信 息。
[0055] 本發明實施例中,作為一可選實施例,內存闊值配置表集中包含有一個或多個內 存闊值配置表,內存闊值配置表W終端設備類型為標識,每一內存闊值配置表對應一終端 設備類型。在W終端設備類型為標識的內存闊值配置表中,包括:終端設備類型、內存峰值、 應用程序場景W及縮放比例(圖片縮放比例)。
[0056] 本發明實施例中,不同的應用程序,對應有不同的應用程序場景,每一應用程序包 含有一個或多個應用程序場景,不同應用程序的應用程序場景,可W相同,也可W不同,應 用程序開發人員可W依據實際需要,定義并分類應用程序場景。作為一可選實施例,W某一 游戲應用程序為例,應用程序場景可W包括:登錄界面、主頁、選關頁面、第一關等。
[0057] 實際應用中,由于不同的應用程序在同一終端設備中運行時需要的內存大小可能 不同,因而,在內存闊值配置表中,應用程序場景可W為一個或多個應用程序的場景,每一 應用程序場景對應一內存峰值W及一縮放比例。例如,作為一可選實施例,內存闊值配置表 如表1所示。
[0058] 表 1
[0059]
[0060] 當然,實際應用中,在內存闊值配置表中,還可W針對每一應用程序設置一內存闊 值配置子表,或者,針對每一應用程序的每一應用程序場景,設置相應的一內存闊值配置子 表,運樣,在后續下發至終端設備時,可W減少網絡流量。
[0061] W表1中的S國志游戲應用程序為例,內存闊值配置子表如表2所示。
[0062] 表 2
[0063]
[0064]
[006引表2中,W登錄界面W及第一關為例,還可W拆分為如下的兩個內存闊值配置子 表,分別如表3和表4所示。
[0066] 表 3
[0067]
[0068] 表 4
[0069]
[0071] 運樣,通過針對不同的終端設備類型W及應用程序場景,可W針對不同的內存大 小設置相應的圖片縮放比例,即將圖片縮小到一定比例,然后放大進行顯示,經過縮放比例 技術壓縮圖片后的清晰度展示,雖然清晰度有一定程度的降低,但可W滿足各設備終端中 內存大小不一對圖片顯示并加載的需求,例如,對于一些內存容量較低的終端設備,在加載 圖片集時,通過圖片縮放比例W降低圖片清晰度,但可W有效避免應用程序(例如,游戲) 運行較為緩慢,出現閃爍、停頓或者游戲畫面無響應等情況,能夠使得較小內存大小的終端 設備的屏幕畫面連續顯示,提升了應用程序運行效率,避免影響用戶的應用程序體驗;而對 于內存容量較高的終端設備,在加載圖片集時,可W通過無圖片縮放比例或小圖片縮放比 例,從而保障圖片的高質量顯示效果;進一步地,通過圖片縮放比例處理圖片,使得內存中 保存的是小圖片,顯示的是大圖片,可W有效降低內存開銷。
[0072] 步驟102,提取所述當前運行的應用程序場景中待加載的圖片,按照所述統計的可 用內存峰值對應的圖片縮放比例調整提取的圖片,并將調整的圖片在所述當前運行的應用 程序場景中進行加載;
[0073] 本步驟中,提取所述當前運行的應用程序場景中待加載的圖片的程序代碼段如 下:
[0074]BitmapFactory.Optionsoptions=newBitmapFactory.Options〇 ;options. inJustDecodeBounds=true;BitmapFactory.decode民esource(get民esources〇,民.id. myimage?options);intimageHeight=options.outHeight;intimageWidth=options. outWicith;
[007引經過上述的程序代碼段后,可得到圖片集中待加載圖片的高(imageHei組t)寬 (imageWicith)信息D
[0076] 然后,對imageHei組t和imageWid化進行等比例縮放。本發明實施例中,按照得 到的縮放比例調整提取的圖片的程序代碼段如下:
[0077]mImageView.setImageBitmap(decodeSampledBitmapFrom民esource(get民esour ces0,民.id.myimage,width,height));
[007引較佳地,圖片集中的圖片為PNG圖片。當然,實際應用中,圖片集中的圖片也可 為JPG、BMP、GIF等格式的圖片。
[0079] 步驟103,監測并記錄所述當前運行的應用程序場景的可用內存峰值,結合所述當 前運行的應用程序場景所屬的終端設備參數和圖片縮放比例,生成終端設備性能信息,并 向服務器上報,W使所述服務器根據上報的終端設備性能信息調整內存闊值配置表集中所 述當前運行的應用程序場景對應的內存闊值配置表。
[0080] 本步驟中,作為一可選實施例,監測并記錄所述當前運行的應用程序場景的可用 內存峰值包括:
[0081] 定時或不定時監測所述當前運行的應用程序場景的內存峰值,并記錄監測得到的 內存峰值;
[0082] 選取記錄的內存峰值中最大的內存峰值作為可用內存峰值,或選取記錄的內存峰 值中前n位大的內存峰值并計算其平均值作為可用內存峰值。
[0083] 所述服務器根據上報的終端設備性能信息調整內存闊值配置表集中所述當前運 行的應用程序場景對應的內存闊值配置表包括:
[0084] B11,依據終端設備性能信息中的終端設備類型,得到到該終端設備類型對應的內 存闊值配置表;
[0085] B12,查詢得到的內存闊值配置表中,所述當前運行的應用程序場景W及所述終端 設備性能信息中的可用內存峰值對應的圖片縮放比例;
[0086] B13,判斷查詢到的圖片縮放比例是否小于所述終端設備性能信息中的圖片縮放 比例,如果是,調小內存闊值配置表集中所述當前運行的應用程序場景對應的內存闊值配 置表中的縮放比例,如果大于,調大內存闊值配置表集中所述當前運行的應用程序場景對 應的內存闊值配置表中的縮放比例,如果等于,不作處理。
[0087] 本步驟中,對于查詢到的圖片縮放比例等于所述終端設備性能信息中的圖片縮放 比例的情形,無需向相應的終端設備發送內存闊值配置表。
[0088] 作為另一可選實施例,服務器可W按照終端設備類型,定時或不定時將更新的內 存闊值配置表集中的內存闊值配置表下發至相應的終端設備,也可W是終端設備向服務器 發送請求,服務器接收請求后,將該終端設備對應的內存闊值配置表進行下發。
[0089] 作為另一可選實施例,獲取內存闊值配置表包括:
[0090] 在接收到終端設備下載應用程序安裝包的請求后,將該