[問題] 一個view = 幾個bytes

看板AndroidDev作者 (卡卡)時間12年前 (2014/03/03 18:40), 編輯推噓3(3016)
留言19則, 4人參與, 最新討論串1/1
如題 在看code的時候 發現前輩把view宣告成一個array 這個view的array大約有200多個 竟然不會OOM(這個view裡面是有放ImageView的) 所以想請問一下一個view大概佔了幾個byte 也就是說 如果我宣告了一個view的陣列 View[] v = new View[100] 大概會佔了多少記憶體呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.123.160

03/03 22:15, , 1F
launcher 也是幾百個 icon.. 也是活得好好的
03/03 22:15, 1F

03/03 23:14, , 2F
這就是我好奇的地方 是有甚麼機制讓這些view不算在記憶體
03/03 23:14, 2F

03/03 23:29, , 3F
當然算在記憶體阿 通常為了旋轉Activity速度的關係
03/03 23:29, 3F

03/03 23:29, , 4F
這些從系統中拿出來的圖檔都會cache在app裡面
03/03 23:29, 4F

03/03 23:30, , 5F
只是開large heap跟嚴格控管記憶體吧
03/03 23:30, 5F

03/03 23:30, , 6F
不然拿高解析度(x/xxhdpi)的機器來看
03/03 23:30, 6F

03/03 23:31, , 7F
就會發現很多app記憶體常常都是百M以上
03/03 23:31, 7F

03/03 23:32, , 8F
ImageView裡面的圖檔也是要看解析度多少才說得準
03/03 23:32, 8F

03/03 23:33, , 9F
如果是超高解析度+超大張的圖,應該沒幾張就OOM了
03/03 23:33, 9F

03/04 22:06, , 10F
03/04 22:06, 10F

03/04 22:07, , 11F
不知道大師的這篇文章有沒有解答你的問題
03/04 22:07, 11F

03/04 23:34, , 12F
感謝 來study一下
03/04 23:34, 12F

03/05 00:19, , 13F
哀 Romain Guy 不搞android了 真心痛
03/05 00:19, 13F

03/05 00:20, , 14F
view是沒幾個BYTE 重點是看你View裡面掛了幾個Bitmap
03/05 00:20, 14F

03/05 00:25, , 15F
Launcher 的icons有讀出來後處理存在一個cache中
03/05 00:25, 15F

03/05 00:25, , 16F
cache好像是掛在application下
03/05 00:25, 16F

03/05 13:28, , 17F
恩 如果理解沒錯的話 launcher application下有一
03/05 13:28, 17F

03/05 13:28, , 18F
個 loader class 跟iconcache 專門處理這方面的事情
03/05 13:28, 18F

03/05 13:28, , 19F
activity 起來後去註冊一個call back來獲取資料
03/05 13:28, 19F
文章代碼(AID): #1J55mmX6 (AndroidDev)