adbshelldumpsys命令檢視記憶體
具體每一項代表什麼,參考:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#2299813,我們比較關心的是這2行:
其中size是需要的記憶體,而allocated是分配了的記憶體,對應的2列分別是native和dalvik,當總數也就是total這一列超過單個程式記憶體的最大限制時,OOM就很有可能會出現了。
多數時候,發生OOM 都是在做一些跟圖片相關的操作,以下提出一些建議儘量可以減少這種情況的發生:
1 .decode bitmap 的時候,儘量配置下Options,例如:inSameSize |
2 .Bitmap使用完以後,呼叫 bitmap.recycle()來釋放記憶體 |
3 .如果應用是基於圖片的應用,儘量採用LazyLoad和DymanicRecycle |
4 .decode bitmap 的時候,將decode程式碼 try catch 出來, catch oom error,避免程式crash,可以在 catch 裡面做一些釋放記憶體操作 |
/**
* @author 張興業
* 郵箱:xy-zhang#163.com
* android開發進階群:278401545
*
*/
android程式記憶體被分為2部分:native和dalvik,dalvik就是我們平常說的java堆,我們建立的物件是在這裡面分配的,而bitmap是直接在native上分配的,對於記憶體的限制是 native+dalvik 不能超過最大限制。android程式記憶體一般限制在16M,當然也有24M的。
用以下命令可以檢視程式的記憶體使用情況:
adb shell dumpsys meminfo $package_name or $pid //使用程式的包名或者程式id
用com.tencent.qqpimsecure為例:
本文轉自xyz_lmn51CTO部落格,原文連結:http://blog.51cto.com/xyzlmn/817199,如需轉載請自行聯絡原作者
相關文章
- GDB檢視記憶體(x 命令)記憶體
- Aix下檢視記憶體命令 -- 轉AI記憶體
- 檢視swap記憶體記憶體
- 很經典的GDB除錯命令,包括檢視變數,檢視記憶體除錯變數記憶體
- linux命令檢視記憶體命令free -h whereis locate find查詢命令Linux記憶體
- 檢視linux可用記憶體Linux記憶體
- SUSE檢視CPU和記憶體記憶體
- Linux檢視記憶體資訊Linux記憶體
- Linux檢視伺服器記憶體使用情況的命令Linux伺服器記憶體
- UNIX系統記憶體檢視方法記憶體
- SOLARISE檢視記憶體使用情況記憶體
- 用GDB檢視記憶體內容記憶體
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- linux top命令檢視記憶體及多核CPU的使用講述Linux記憶體
- linux 檢視某個程序和服務記憶體佔用情況命令Linux記憶體
- Python記憶體檢視是什麼Python記憶體
- java中如何檢視記憶體洩露Java記憶體洩露
- linux檢視cpu、記憶體、版本資訊Linux記憶體
- Oracle 記憶體使用建議效能檢視Oracle記憶體
- 檢視程式cpu和記憶體佔用率記憶體
- Linux下檢視記憶體,CPU資訊Linux記憶體
- linux aix檢視CPU和記憶體LinuxAI記憶體
- solaris檢視I/O、記憶體、網路效能優化命令 iostat , vmstat記憶體優化iOS
- 檢視LINUX程式記憶體佔用情況Linux記憶體
- linux下檢視CPU、記憶體、硬碟方法Linux記憶體硬碟
- linux下檢視記憶體使用情況Linux記憶體
- HP-UX環境下檢視記憶體UX記憶體
- 檢視主機的記憶體使用情 (轉)記憶體
- aix 檢視記憶體_cpu_序列號碼AI記憶體
- 在linux檢視記憶體的大小(轉)Linux記憶體
- 17 種檢視 Linux 實體記憶體的方法Linux記憶體
- solaris檢視I/O、記憶體、網路效能最佳化命令 iostat , vmstat記憶體iOS
- win10如何檢視記憶體執行頻率_win10檢視記憶體執行頻率的方法Win10記憶體
- win10檢視是否使用虛擬記憶體情況 win10是否使用虛擬記憶體在哪裡檢視Win10記憶體
- 檢視Redis叢集所有節點記憶體工具Redis記憶體
- 如何檢視Linux的記憶體使用狀況Linux記憶體
- Linux檢視CPU和記憶體使用情況Linux記憶體
- linux系統檢視記憶體使用率Linux記憶體