【转载】adb shell dumpsys 查看内存
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【转载】adb shell dumpsys 查看内存
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                ? ? ???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為例:
?
?
??? 具體每一項代表什么,參考: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里面做一些釋放內存操作 | 
?
?
http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android/2299813#2299813
轉載于:https://www.cnblogs.com/keke-xiaoxiami/articles/4326128.html
總結
以上是生活随笔為你收集整理的【转载】adb shell dumpsys 查看内存的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Java Dom解析xml
- 下一篇: 对IFeatureClass的选择结果进
