用圖片緩存模塊2時,key為Lrucache硬引用緩存模塊I移出的圖片的地址以及尺寸組成的字符串,value為加載到內存中的圖片bitmap。
[0028]軟引用圖片緩存模塊2的保存數量超過當前軟引用圖片緩存模塊2的可保存數量時,將最近最少使用的一張圖片從軟引用圖片緩存模塊2移出并從內存中釋放掉,保證軟引用圖片緩存模塊2保存的圖片上限永遠都是創(chuàng)建時設置的圖片保存數量。
[0029]此外,當內存不足時,系統(tǒng)的內存回收機制會開始釋放一些內存,軟引用緩存模塊2里保存的圖片則會釋放掉。
[0030]c.創(chuàng)建加入圖片緩存模塊3,加入圖片緩存模塊3根據應用程序傳入的圖片地址將圖片加載到內存中的Lrucache硬引用緩存模塊I。
[0031]當應用程序需要將圖片加入內存中以便應用程序能快速調用時,傳入圖片的地址和圖片需要保存的尺寸到加入圖片緩存模塊3,加入圖片緩存模塊3根據應用程序傳入的圖片地址將圖片加載到內存中的Lrucache硬引用緩存模塊1,Lrucache硬引用緩存模塊I中key為圖片的地址以及需要保存的尺寸組成的字符串,value為加載到內存中的圖片bitmap ο
[0032]創(chuàng)建獲取圖片緩存模塊4。
[0033]當應用程序需要使用之前保存的圖片時,傳入圖片地址和圖片需要保存的尺寸到獲取圖片緩存模塊4;
d.創(chuàng)建獲取圖片緩存模塊4,當應用程序需要使用之前保存的圖片時,傳入圖片地址以及尺寸到獲取圖片緩存模塊4 ;
獲取圖片緩存模塊4將應用程序傳入的圖片地址以及尺寸組成的字符串傳入Lrucache硬引用緩存模塊I以獲取這張圖片,如果有獲取則返回圖片給應用程序;
如果沒有獲取,則將圖片地址以及尺寸組成的字符串傳入軟引用緩存模塊2以獲取這張圖片,如果有獲取則返回圖片給應用程序;如沒有獲取則提示應用程序此圖片還沒有加載到內存中,需要重新將圖片地址以及尺寸傳入加入圖片緩存模塊3中。
[0034]e.創(chuàng)建清除全部緩存模塊51、清除硬緩存模塊52、清除軟緩存模塊53。
[0035]當需要清除內存中保存的圖片時,可以傳入圖片地址以及尺寸組成的字符串找到加入圖片緩存模塊3緩存的圖片,然后釋放圖片。
[0036]調用清除清除全部緩存子模塊時,Lrucache硬引用緩存模塊I和軟引用圖片緩存模塊2的內存全部釋放掉。
[0037]調用清除硬緩存子模塊時,Lrucache硬引用緩存模塊I的內存全部釋放掉。
[0038]調用清除軟緩存子模塊時,軟引用圖片緩存模塊2的內存全部釋放掉。
[0039]本實施例還提供了用于上述安卓操作系統(tǒng)的圖片內存管理方法的安卓操作系統(tǒng)的圖片內存管理裝置,安卓操作系統(tǒng)的圖片內存管理裝置包括=Lrucache硬引用緩存模塊
1、軟引用圖片緩存模塊2、加入圖片緩存模塊3、獲取圖片緩存模塊4、清除全部緩存模塊51、清除硬緩存模塊52、清除軟緩存模塊53。
[0040]本實施例提供的安卓操作系統(tǒng)的圖片內存管理方法及裝置可優(yōu)化應用程序的圖片內存使用,使用戶瀏覽圖片清晰順暢,提升了用戶體驗。
[0041]以上為本發(fā)明舉例說明,并不用于限制本發(fā)明。
【主權項】
1.圖片內存管理方法,其特征在于,包括以下步驟: a.創(chuàng)建Lrucache硬引用緩存模塊(I),設置所述Lrucache硬引用緩存模塊(I)的緩存最大值; b.創(chuàng)建軟引用圖片緩存模塊(2),設置所述軟引用圖片緩存模塊(2)可保存的圖片數量; c.創(chuàng)建加入圖片緩存模塊(3),所述加入圖片緩存模塊(3)根據應用程序傳入的圖片地址將圖片加載到內存中的所述Lrucache硬引用緩存模塊(I); d.創(chuàng)建獲取圖片緩存模塊(4),當應用程序需要使用之前保存的圖片時,傳入圖片地址以及尺寸到所述獲取圖片緩存模塊(4); 所述獲取圖片緩存模塊(4)將應用程序傳入的圖片地址以及尺寸組成的字符串傳入所述Lrucache硬引用緩存模塊(I)以獲取這張圖片,如果有獲取則返回圖片給應用程序; 如果沒有獲取,則將圖片地址以及尺寸組成的字符串傳入所述軟引用緩存模塊(2)以獲取這張圖片,如果有獲取則返回圖片給應用程序;如沒有獲取則提示應用程序此圖片還沒有加載到內存中,需要重新將圖片地址以及尺寸傳入所述加入圖片緩存模塊(3 )中。2.如權利要求1所述的圖片內存管理方法,其特征在于,還包括以下步驟: e.創(chuàng)建清除全部緩存模塊(51)、清除硬緩存模塊(52)、清除軟緩存模塊(53 )。3.圖片內存管理裝置,其特征在于,包括: Lrucache硬引用緩存模塊(I); 軟引用圖片緩存模塊(2); 加入圖片緩存模塊(3),所述加入圖片緩存模塊(3)根據應用程序傳入的圖片地址將圖片加載到內存中的所述Lrucache硬引用緩存模塊(I); 獲取圖片緩存模塊(4),當應用程序需要使用之前保存的圖片時,傳入圖片地址以及尺寸到所述獲取圖片緩存模塊(4); 所述獲取圖片緩存模塊(4)將應用程序傳入的圖片地址以及尺寸組成的字符串傳入所述Lrucache硬引用緩存模塊(I)以獲取這張圖片,如果有獲取則返回圖片給應用程序; 如果沒有獲取,則將圖片地址以及尺寸組成的字符串傳入所述軟引用緩存模塊(2)以獲取這張圖片,如果有獲取則返回圖片給應用程序;如沒有獲取則提示應用程序此圖片還沒有加載到內存中,需要重新將圖片地址以及尺寸傳入所述加入圖片緩存模塊(3 )中。4.如權利要求3所述的圖片內存管理裝置,其特征在于,還包括清除全部緩存模塊(51)、清除硬緩存模塊(52 )、清除軟緩存模塊(53 )。
【專利摘要】本發(fā)明提供了安卓操作系統(tǒng)的圖片內存管理方法及裝置。所提供的安卓操作系統(tǒng)的圖片內存管理方法,包括以下步驟:a.?創(chuàng)建Lrucache硬引用緩存模塊,設置Lrucache硬引用緩存模塊1的緩存最大值;b.?創(chuàng)建軟引用圖片緩存模塊,設置軟引用圖片緩存模塊可保存的圖片數量;c.?創(chuàng)建加入圖片緩存模塊,加入圖片緩存模塊3根據應用程序傳入的圖片地址將圖片加載到內存中的Lrucache硬引用緩存模塊;d.?創(chuàng)建獲取圖片緩存模塊,當應用程序需要使用之前保存的圖片時,傳入圖片地址以及尺寸到獲取圖片緩存模塊。該安卓操作系統(tǒng)的圖片內存管理方法及裝置可優(yōu)化應用程序的圖片內存使用,使用戶瀏覽圖片清晰順暢,提升了用戶體驗。
【IPC分類】G06T1/60
【公開號】CN105046640
【申請?zhí)枴緾N201510243687
【發(fā)明人】張涢, 王會
【申請人】深圳市美貝殼科技有限公司
【公開日】2015年11月11日
【申請日】2015年5月14日