手機(jī)中一張6400萬像素的照片占多大內(nèi)存?
注:ARGB指的是一種色彩模式,里面A代表Alpha,R表示red,G表示green,B表示blue,其實(shí)所有的可見色都是紅綠藍(lán)組成的,所以紅綠藍(lán)又稱為三原色。A R G B透明度 紅色綠色藍(lán)色簡單點(diǎn)說另外,需要注意這里的圖片占用內(nèi)存是指在Navtive中占用的內(nèi)存,當(dāng)然BitMap使用的絕大多數(shù)內(nèi)存就是該內(nèi)存。因?yàn)槲覀兛梢院唵蔚恼J(rèn)為它就是BitMap所占用的內(nèi)存。 Bitmap對(duì)象在不使用時(shí),我們應(yīng)該先調(diào)用recycle(),然后才它設(shè)置為null.雖然Bitmap在被回收時(shí)可以通過BitmapFinalizer來回收內(nèi)存。但是調(diào)用recycle()是一個(gè)良好的習(xí)慣在Android4.0之前,Bitmap的內(nèi)存是分配在Native堆中,調(diào)用recycle()可以立即釋放Native內(nèi)存。從Android4.0開始,Bitmap的內(nèi)存就是分配在dalvik堆中,即JAVA堆中的,調(diào)用recycle()并不能立即釋放Native內(nèi)存。但是調(diào)用recycle()也是一個(gè)良好的習(xí)慣。通過dumpsys meminfo命令可以查看一個(gè)進(jìn)程的內(nèi)存使用情況,當(dāng)然也可以通過它來觀察我們創(chuàng)建或銷毀一張BitMap圖片內(nèi)存的變化,從而推斷出圖片占用內(nèi)存的大小。示例:adb shell "dumpsysmeminfocom.lenovo.robin"運(yùn)行結(jié)果。Applications Memory Usage (kB):Uptime: 18696550 Realtime: 18696541** MEMINFO in pid 7985 [com.lenovo.robin] **native dalvik other total size: 4828 5379 N/A 10207 allocated: 4073 2852 N/A 6925 free: 10 2527 N/A 2537 (Pss): 608 317 1603 2528 (shared dirty): 2240 1896 6056 10192 (priv dirty): 548 36 1276 1860 Objects Views: 0 ViewRoots: 0 AppContexts: 0 Activities: 0 Assets: 2 AssetManagers: 2 Local Binders: 5 Proxy Binders: 11Death Recipients: 1 OpenSSL Sockets: 0 SQL heap: 0 MEMORY_USED: 0 PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0