看板 AndroidDev 關於我們 聯絡資訊
如題 在看code的時候 發現前輩把view宣告成一個array 這個view的array大約有200多個 竟然不會OOM(這個view裡面是有放ImageView的) 所以想請問一下一個view大概佔了幾個byte 也就是說 如果我宣告了一個view的陣列 View[] v = new View[100] 大概會佔了多少記憶體呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.123.160
qweqweqweqwe:launcher 也是幾百個 icon.. 也是活得好好的 03/03 22:15
zxc190:這就是我好奇的地方 是有甚麼機制讓這些view不算在記憶體 03/03 23:14
qweqweqweqwe:當然算在記憶體阿 通常為了旋轉Activity速度的關係 03/03 23:29
qweqweqweqwe:這些從系統中拿出來的圖檔都會cache在app裡面 03/03 23:29
qweqweqweqwe:只是開large heap跟嚴格控管記憶體吧 03/03 23:30
qweqweqweqwe:不然拿高解析度(x/xxhdpi)的機器來看 03/03 23:30
qweqweqweqwe:就會發現很多app記憶體常常都是百M以上 03/03 23:31
qweqweqweqwe:ImageView裡面的圖檔也是要看解析度多少才說得準 03/03 23:32
qweqweqweqwe:如果是超高解析度+超大張的圖,應該沒幾張就OOM了 03/03 23:33
luluking:http://0rz.tw/UFVfk 03/04 22:06
luluking:不知道大師的這篇文章有沒有解答你的問題 03/04 22:07
zxc190:感謝 來study一下 03/04 23:34
tac0wu:哀 Romain Guy 不搞android了 真心痛 03/05 00:19
tac0wu:view是沒幾個BYTE 重點是看你View裡面掛了幾個Bitmap 03/05 00:20
tac0wu:Launcher 的icons有讀出來後處理存在一個cache中 03/05 00:25
tac0wu:cache好像是掛在application下 03/05 00:25
qweqweqweqwe:恩 如果理解沒錯的話 launcher application下有一 03/05 13:28
qweqweqweqwe:個 loader class 跟iconcache 專門處理這方面的事情 03/05 13:28
qweqweqweqwe: activity 起來後去註冊一個call back來獲取資料 03/05 13:28