編輯:關於Android編程
使用場景:跟蹤進程內存使用情況,看是否存在內存回收不了的問題,如果程序存在內存洩露問題,通過內存動態占用情況可以看出一些端倪。
2 查看系統dalvik給每一個進程分配的可用內存情況:
root@android:/ # getprop
[dalvik.vm.heapgrowthlimit]: [192m] :進程最大可分配到192m 如果哪個進程超過這個值就會發生OOM問題。
[dalvik.vm.heapmaxfree]: [8m]
[dalvik.vm.heapminfree]: [2m]
[dalvik.vm.heapsize]: [256m] :單個虛擬機可分配的最大內存=256m
[dalvik.vm.heapstartsize]: [8m]
2 查應用進程占用內存分布:
root@android:/ # dumpsys meminfo
2 查指定進程占用內存情況,比如電話進程
root@android:/ # dumpsys meminfo | grep phone
2 查指定幾個進程占用內存情況,比如電話進程、電話本進程、信息進程
root@android:/ # dumpsys meminfo | grep -E "phone|mms|contacts"
內存洩露分析:
http://blog.csdn.net/rambomatrix/article/details/17485503
2 模擬發送廣播:通過命令行執行adb shell am broadcast發送廣播通。這個在調試的時候常用到。
adb shell am broadcast 後面的參數有:
[-a ]
[-d
[-t
[-c
[-e|--es
[--ez
[-e|--ei
[-n
[-f
例如:adb shell am broadcast -a com.android.test --es test_string "this is test string" --ei test_int 100 --ez test_boolean true說明:藍色為key,紅色為alue,分別為String類型,int類型,boolean類型
2 Android AM命令行啟動程序的方法
附上鏈接,感覺不是很常用到。
http://blog.csdn.net/sunrock/article/details/5675067
Debug 版本機器:
adb remount 重新掛載文件系統
adb pull .../Phone.apk g:/ 把Phone.apk從手機中取出來放到G盤。如果需要反編譯別人機器的apk,可以這樣取出來。
adb push .../Phone.apk system/app 把修改後的Phone.apk放入手機,放入以後需要讓phone進程重啟一次。
root@android:/ ps | grep phone 查找phone進程的pid
root@android:/ kill 1212 殺掉phone進程
USER版本機器:
使用 刷機精靈 ROOT,root成功率很高。
adb shell 進入shell
Su 獲取Root權限
root@android:/# chmod -R 777 system/ 給指定目錄賦予讀寫權限,然後可以更改這個目錄 裡面的文件。
2 Adb logcat
Android日志系統為日志消息保持了多個循環緩沖區,而且不是所有的消息都被發送到默認緩沖區,要想查看這些附加的緩沖區,可以使用-b 選項,以下是可以指定的緩沖區:
radio — 查看包含在無線/電話相關的緩沖區消息
events — 查看事件相關的消息
main — 查看主緩沖區(默認緩沖區)
常用的打印方法有:
-v time 打印時間
-c 清理緩沖,在打印Log之前可以先執行一次清理,可以減少無效log。
-s LOG_TAG 打印指定的log tag對應的log
-f 文件名 將日志輸出到文件
查看當前應用有多少個線程在跑,每個線程cpu使用情況如何。如果程序寫的有問題,開啟了一些線程在後台跑卻從未釋放,可能給程序帶來嚴重的影響。
root@android:/ # top -t
可以看到電子郵件這個應用裡面所有的線程使用cpu的情況。這個數據在分析一些cpu使用高的問題時很好用。
歡迎大家補充。
Android性能優化是Android開發中經常遇見的一個問題,接下來將對Android性能優化方面的知識點做一個簡單的梳理和總結,將從工具和代碼兩方面進行梳理。所謂工欲
當用戶從網絡上讀取微薄的時候,如果一下子全部加載用戶未讀的微薄這將耗費比較長的時間,造成不好的用戶體驗,同時一屏的內容也不足以顯示如此多的內容。這時候,我們就需要用到另一
先看一下效果圖實現思路:變成點的控件不是TextView和EditText而是Imageview。首先寫一個RelativeLayout裡邊包含6個ImageView和一
本文實例講述了Android編程開發之EditText實現輸入QQ表情圖像的方法。分享給大家供大家參考,具體如下:實現效果如下:將QQ表情圖像放到res下的drawabl