[發明專利]一種回收圖片資源的方法及裝置有效
| 申請號: | 201611189937.3 | 申請日: | 2016-12-21 |
| 公開(公告)號: | CN106598614B | 公開(公告)日: | 2020-12-25 |
| 發明(設計)人: | 楊德立 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F9/445 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 11006 | 代理人: | 王玉雙 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 回收 圖片 資源 方法 裝置 | ||
本發明提供了一種回收圖片資源的方法及裝置,所述方法包括:將所述圖片資源的回收程序封裝至圖片資源加載類中;為所述圖片資源加載類封裝一資源管理接口;按照預設的回收時機通過所述資源管理接口調用所述圖片資源回收程序,回收無用的圖片資源。如此,在加載過程中,當觸發所述回收時機時,即可調用圖片資源回收程序對無用的圖片資源進行回收,確保了可以及時回收無用的圖片資源,釋放無用圖片資源占用的內存,避免NativeCache內存不足,進而避免出現內存溢出OOM問題。
技術領域
本發明屬于資源加載技術領域,尤其涉及一種回收圖片資源的方法及裝置。
背景技術
隨著電子產品的不斷發展,智能終端基本上已經成為人手必備的電子產品。目前的主流終端(比如手機、平板電腦等)操作系統包括:Android系統和IOS系統。
圖片加載功能是終端操作系統需要具備的基本功能,現有技術中,對于Android系統3.0版本之前的版本,在對圖片資源進行加載時,通常利用系統默認的資源加載方法對圖片進行加載,在加載過程中生成的位圖像素數據一般是存在本地緩存NativeCache中的,但由于系統默認的加載方法對圖片資源回收不可控,經常會因不能及時回收圖片資源,造成NativeCache內存不足,進而導致內存溢出(OOM,Out Of Memory)。
發明內容
針對現有技術存在的問題,本發明實施例提供了一種加載圖片資源的方法及裝置,用于解決現有技術中Android系統3.0版本以下的版本,在加載圖片資源時,無法對圖片資源的回收進行控制,造成NativeCache內存不足,進而導致出現OOM的技術問題。
本發明公開了一種回收圖片資源的方法,所述方法包括:
將所述圖片資源的回收程序封裝至圖片資源加載類中;
為所述圖片資源加載類封裝一資源管理接口;
按照預設的回收時機通過所述資源管理接口調用所述圖片資源回收程序,回收無用的圖片資源。
上述方案中,按照預設的回收時機通過所述資源管理接口調用所述圖片資源回收程序,回收無用的圖片資源之前,所述方法還包括:建立位圖集合,將加載過程中生成的位圖像素數據儲存至所述位圖集合中。
上述方案中,所述回收時機具體為界面上的圖片被刪除時。
上述方案中,將所述將圖片資源的回收程序封裝至圖片資源加載類之前,所述方法還包括:
將圖片背景設置的加載程序及圖片內容顯示的加載程序封裝至所述圖片資源加載類中;
通過所述資源管理接口調用相應的圖片資源加載類,加載相應的圖片背景及圖片內容顯示。
上述方案中,當所述圖片資源加載為圖片背景設置的加載時,加載方法具體包括:
當確定所述圖片背景未加載過時,獲取需要顯示的視圖尺寸,根據所述視圖尺寸判斷所述圖片背景是否需要壓縮;
當確定所述圖片背景需要壓縮時,根據第一壓縮比例壓縮所述圖片背景;
根據壓縮后的圖片背景生成所述圖片背景的第一位圖像素數據;
當確定所述圖片背景為普通圖片時,根據所述第一位圖像素數據生成第一位圖對象;
將所述第一位圖對象賦值給需要顯示圖片背景的視圖。
上述方案中,當確定所述圖片背景不需要壓縮時,所述方法還包括:根據當前的圖片背景生成所述圖片背景的第一位圖像素數據。
上述方案中,在加載過程中,所述方法還包括:捕捉內存不足異常,當捕捉到異常時,放棄加載當前的圖片背景資源。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611189937.3/2.html,轉載請聲明來源鉆瓜專利網。





