999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的圖片處理系統(tǒng)中內(nèi)存溢出優(yōu)化方法

2017-07-18 11:47:38韓聰海南工商職業(yè)學(xué)院
數(shù)碼世界 2017年6期
關(guān)鍵詞:設(shè)置優(yōu)化系統(tǒng)

韓聰 海南工商職業(yè)學(xué)院

基于Android的圖片處理系統(tǒng)中內(nèi)存溢出優(yōu)化方法

韓聰 海南工商職業(yè)學(xué)院

隨著智能手機(jī)攝像頭像素的不斷提高和智能手機(jī)自帶圖片處理軟件、三方攝影軟件的不斷改進(jìn),內(nèi)存利用問題不容忽視。如何讓圖片處理軟件流暢、穩(wěn)定,避免因內(nèi)存溢出造成系統(tǒng)頻繁出問題,成為開發(fā)者必須解決的問題。本文旨在解決該問題。先對(duì)相關(guān)技術(shù)原理進(jìn)行分析得出內(nèi)存溢出原因,再提出優(yōu)化方法。

圖片處理 內(nèi)存溢出 優(yōu)化

Android操作系統(tǒng)(安卓)是谷歌開發(fā)的,是一款基于Linux內(nèi)核設(shè)計(jì)的操作系統(tǒng)。因Linux完全免費(fèi)開放,且所需配置不高,越來越多的企業(yè)及政府投入研究及使用,Android迅速變成全球應(yīng)用最廣泛的智能手機(jī)操作系統(tǒng)。Android操作系統(tǒng)能夠?qū)D片進(jìn)行簡(jiǎn)單的出來了,同時(shí)支持三方攝影軟件對(duì)圖片進(jìn)行美化處理。隨著圖片處理系統(tǒng)功能的不斷改進(jìn),處理圖片時(shí)所需的內(nèi)存也更多,出現(xiàn)了out of memory(內(nèi)存溢出)。

內(nèi)存溢出(out of memory)即內(nèi)存不夠用。圖片處理軟件處理大量圖片時(shí)需要的內(nèi)存很大,主機(jī)所提供的內(nèi)存不能承載大量圖片時(shí)軟件無法運(yùn)行,系統(tǒng)會(huì)自動(dòng)退出或提示內(nèi)存溢出。OOM帶來很多問題。內(nèi)存溢出僅到緩沖區(qū),程序仍然可以調(diào)用丟失的信息或子程序的列表信息。這種情況重啟手機(jī)或者清除緩存釋放內(nèi)存軟件就可以正常運(yùn)行了。內(nèi)存溢出超出緩沖區(qū),軟件不能正常完成任務(wù)。溢出的數(shù)據(jù)會(huì)覆蓋計(jì)算機(jī)內(nèi)存中原有信息。若被覆蓋的信息不能恢復(fù)將會(huì)永遠(yuǎn)丟失。

1 Android操作系統(tǒng)內(nèi)存分析

Android設(shè)計(jì)的理念是“應(yīng)用程序關(guān)閉而不退出”,應(yīng)用程序關(guān)閉依然要占用內(nèi)存。谷歌數(shù)據(jù)顯示,假設(shè)智能手機(jī)操作系統(tǒng)的內(nèi)存是64M,高級(jí)系統(tǒng)服務(wù)大概需要20M內(nèi)存,該手機(jī)內(nèi)核大概需要24M內(nèi)存,手機(jī)僅剩不到20M內(nèi)存留給應(yīng)用程序。手機(jī)更新?lián)Q代后,內(nèi)存升級(jí)為了32G、64G,但內(nèi)核的內(nèi)存占用量、高級(jí)系統(tǒng)服務(wù)內(nèi)存的占用量也隨之增大,應(yīng)用程序的可用內(nèi)存還是有限。

1.1 內(nèi)存管理機(jī)制

Android操作系統(tǒng)對(duì)內(nèi)存分配的可修改性不大,而內(nèi)核層及系統(tǒng)運(yùn)行庫層和應(yīng)用程序框架層卻可以修改。應(yīng)用程序框架層內(nèi)存管理主要體現(xiàn)在Ams。內(nèi)存回收時(shí)體現(xiàn)在兩個(gè)當(dāng)面,支持low memory killer設(shè)置進(jìn)程的優(yōu)先級(jí)別,否則提供一套默認(rèn)的內(nèi)存回收方案。內(nèi)核層及系統(tǒng)運(yùn)行庫內(nèi)存的管理主要是運(yùn)行程序調(diào)用GC申請(qǐng)內(nèi)存。若能夠回收足夠的內(nèi)存則GC停止,否則內(nèi)存溢出應(yīng)用程序終止。

1.2 圖片占用進(jìn)程的內(nèi)存算法

Android中處理圖片使用Bitmap(位圖)的基礎(chǔ)類。圖片處理時(shí)占用內(nèi)存計(jì)算方法是height*width*Config。假如Config設(shè)置為ARGB則Config=4。一張720480存就是720*480*4字節(jié)。把手機(jī)設(shè)置調(diào)為默認(rèn)設(shè)置,圖片需要16M內(nèi)存。Bitmap包含在底層C++的skia圖形庫中的SKBitmap對(duì)象,也包含java中數(shù)據(jù)。建議圖片占用內(nèi)存要小于8M。

2 內(nèi)存溢出原因

(1)一次性從數(shù)據(jù)庫中取出的數(shù)據(jù)量大,超出內(nèi)存能夠加載的上限。

(2)引用對(duì)象在集合類中使用后沒有及時(shí)清空引用對(duì)象,JVM不能回收。

(3)程序中存在死循環(huán)、很多重復(fù)的對(duì)象實(shí)體。

(4)在啟動(dòng)參數(shù)時(shí)內(nèi)存值設(shè)置的不夠大。

3 內(nèi)存溢出優(yōu)化方法

(1)對(duì)代碼進(jìn)行反復(fù)檢測(cè)排除死循環(huán)、重復(fù)的對(duì)象實(shí)體。

(2)避免啟動(dòng)參數(shù)時(shí)對(duì)內(nèi)存值設(shè)置的不夠大。

(3)避免一次性從數(shù)據(jù)庫中獲取出的數(shù)據(jù)量過大,超出內(nèi)存能夠加載的上限。

(4)加載圖片時(shí)對(duì)圖片進(jìn)行等比例壓縮。

(5)及時(shí)回收內(nèi)存,在圖片處理系統(tǒng)中加入圖1-3中的語句。

圖1-3

(6)減小內(nèi)存消耗量。直接調(diào)用JNI>>nativeDecodeAsset()來完成decode,所以在調(diào)用圖片時(shí)通過BitmapFactory.decodeStream方法,創(chuàng)建bitmap,再將其設(shè)為ImageView的source,decodeStream。在讀取時(shí)加上圖片的Config參數(shù),很明顯圖片加載內(nèi)存就減少了,內(nèi)存溢出問題可以有效解決。

4 結(jié)束語

手機(jī)硬件配置越來越高,用手機(jī)拍出來的照片占用內(nèi)存量越來越大,圖片處理時(shí)占用的內(nèi)存也越來越大。內(nèi)存直接影響一個(gè)應(yīng)用程序能不能正常使用,所以開發(fā)者找出解決內(nèi)存溢出問題的解決方案非常重要。

[1]王華旭.Android平臺(tái)圖像處理軟件框架的開發(fā)與設(shè)計(jì)

[J].軟件.2014(02)

[2]申文.基于Android的圖片產(chǎn)品設(shè)計(jì)與實(shí)現(xiàn)[D].華中科技大學(xué)2011

[3]江志儉.基于Android平臺(tái)多功能特效相機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連理工大學(xué)2011

[4]曹幫琴.徐昊.Android應(yīng)用中優(yōu)化Bitmap使用避免內(nèi)存溢出[J].河南工程學(xué)院學(xué)報(bào)(自然科學(xué)版)2014.26(2)

猜你喜歡
設(shè)置優(yōu)化系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
中隊(duì)崗位該如何設(shè)置
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
本刊欄目設(shè)置說明
主站蜘蛛池模板: 国产99热| 国产午夜精品一区二区三区软件| 国产资源免费观看| 日本一区二区三区精品国产| 日本精品影院| 久久综合结合久久狠狠狠97色| 亚洲人免费视频| 亚洲精品图区| 亚洲欧美不卡| 亚洲人成网站在线观看播放不卡| 久久国产精品国产自线拍| 午夜高清国产拍精品| 亚洲一区波多野结衣二区三区| 77777亚洲午夜久久多人| 91无码人妻精品一区| 麻豆精品在线| 久996视频精品免费观看| 久久五月视频| 伊人激情综合网| 91外围女在线观看| 最新精品国偷自产在线| 99热精品久久| 中文字幕 欧美日韩| 日韩精品亚洲精品第一页| 色妞永久免费视频| 老司机精品久久| 亚洲永久视频| 91精品伊人久久大香线蕉| 91麻豆精品国产91久久久久| 国产欧美日韩在线在线不卡视频| 狠狠躁天天躁夜夜躁婷婷| 欧美一区精品| 激情综合图区| 中文国产成人精品久久| 日本欧美一二三区色视频| 99热最新网址| 国产AV无码专区亚洲精品网站| 国产一级片网址| 中国一级特黄大片在线观看| 国产资源免费观看| 国产高清在线观看91精品| 亚洲欧洲日韩综合| 日韩精品一区二区三区免费| 国产69精品久久| 无码人中文字幕| 在线无码av一区二区三区| 香蕉视频在线精品| 中文字幕精品一区二区三区视频| 欧美成人国产| 久久99这里精品8国产| 欧类av怡春院| 国产精品一线天| 免费人成视网站在线不卡| 精品视频一区二区观看| 一级毛片在线免费看| 亚洲精品色AV无码看| 久久久黄色片| 五月婷婷综合色| 国产成人一区在线播放| 91探花国产综合在线精品| 操美女免费网站| 国产福利不卡视频| 亚洲第一区在线| 台湾AV国片精品女同性| 亚洲欧美日韩另类在线一| 色婷婷综合激情视频免费看| 88av在线| 国产91精品久久| 国产高清在线丝袜精品一区| 88av在线| 婷婷色中文| 美女免费精品高清毛片在线视| 亚洲三级色| 亚洲精品自拍区在线观看| 国产aaaaa一级毛片| 亚洲乱码精品久久久久..| 国产色偷丝袜婷婷无码麻豆制服| 久久超级碰| 日韩欧美高清视频| а∨天堂一区中文字幕| 久久永久视频| 国产清纯在线一区二区WWW|