iOS uiimage內存占用大小計算

今天突然遇到一個問題冒萄,UI給了很多設計圖。但感覺很占內存橙数。所以就想計算一下具體需要占用多少內存尊流。
我們平時看到的png、jpg灯帮、webp這些圖片格式崖技,其實都是圖片壓縮格式。通過對應的算法來優(yōu)化了大小以節(jié)省網絡傳輸與本地保存所需的資源施流。但是當我們加載圖片到內存中將要顯示出來的時候是不能使用壓縮格式响疚,這樣就不能顯示圖片了。計算機依賴每一個像素點中的數據來顯示圖片瞪醋。例如iOS中的UIImange的每個像素點是由red+green+blue 三原色在加上alpha透明度組成的忿晕。三原色每一個的范圍在0 ~ 255所以需要int8來存儲一個值的大小。那么一個像素點的顏色就需要3*int8 在加上需要alpha的大小银受。alpha的范圍是0 ~ 100 也是以int8來存儲的践盼。所以一個像素點就需要4個int8來存儲,也就是一個int32的大小宾巍。


image.png

我們平時取顏色也可以看到這一點咕幻。一張圖片由很多像素點組成每個像素點由rgb組成的。但是這里是取顏色可能獲取不到alpha顶霞。那我們現在知道了每一個像素點的大小肄程,得出一整張圖片在內存中的大小就很容易了。width * height * int32 = 圖片的內存大小选浑。

if let imagea = UIImage.init(named: "ccc.png"){
      let size = imagea.cgImage.height * imagea.cgImage.bytesPerRow
}

解釋一下這里bytesPerRow這個屬性的意思蓝厌,蘋果官方文檔上是這樣描述的

bytesPerRow
The number of bytes per row of pixels in the input image data.

所以bytesPerRow 返回的是一張圖片一行所占用的內存大小。單位是bytes古徒。
所以我們這里只需要在乘以圖片的高度就OK了拓提。如果要轉換為kb直接在除以1024就OK了∷肀欤基本就是一張圖片在內存中占用的大小代态。以一張400 * 400的圖片為例寺惫。
400 * (400 * 4) / 1024 = 625KB
其中400*4 = bytesPerRow的值

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蹦疑,隨后出現的幾起案子西雀,更是在濱河造成了極大的恐慌,老刑警劉巖必尼,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒋搜,死亡現場離奇詭異,居然都是意外死亡判莉,警方通過查閱死者的電腦和手機豆挽,發(fā)現死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來券盅,“玉大人帮哈,你說我怎么就攤上這事∶潭疲” “怎么了娘侍?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泳炉。 經常有香客問我憾筏,道長,這世上最難降的妖魔是什么花鹅? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任氧腰,我火速辦了婚禮,結果婚禮上刨肃,老公的妹妹穿的比我還像新娘古拴。我一直安慰自己,他們只是感情好真友,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布黄痪。 她就那樣靜靜地躺著,像睡著了一般盔然。 火紅的嫁衣襯著肌膚如雪桅打。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天愈案,我揣著相機與錄音挺尾,去河邊找鬼。 笑死刻帚,一個胖子當著我的面吹牛潦嘶,可吹牛的內容都是我干的涩嚣。 我是一名探鬼主播崇众,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼掂僵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了顷歌?” 一聲冷哼從身側響起锰蓬,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎眯漩,沒想到半個月后芹扭,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡赦抖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年舱卡,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片队萤。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡轮锥,死狀恐怖,靈堂內的尸體忽然破棺而出要尔,到底是詐尸還是另有隱情舍杜,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布赵辕,位于F島的核電站既绩,受9級特大地震影響,放射性物質發(fā)生泄漏还惠。R本人自食惡果不足惜饲握,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吸重。 院中可真熱鬧互拾,春花似錦、人聲如沸嚎幸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫉晶。三九已至骑疆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間替废,已是汗流浹背箍铭。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留椎镣,地道東北人诈火。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像状答,于是被迫代替她去往敵國和親冷守。 傳聞我的和親對象是個殘疾皇子刀崖,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內容