簡述:
啓動過程:守護進程--->VM--->app
AndroidManifest.xml:配置文件
package--->mainifest--->activity-->layout
步驟: 1.編譯dex
2.打包apk
3.啓動選擇target設備
4.上傳apk
5.安裝apk
6.啓動主activity
eclipse:中有用的結構
DDMS:target
-->Allocation Tracker:內存跟蹤小工具
-->Emulator:模擬器
-->Heap:
-->Threads:
Log:打印log調試
-->Time:時間
-->pid:process
-->Tid:Thread ID
-->UID:user 用戶id
Log中的方法:(詳見development .android很詳細)
assert:
verbose:
debug:(藍色)
info:(綠色)
warn:(黃色)
error:(紅色)
pid 是process 進程id , uid 是user 用戶id;
如果你是root,那麼你的uid就是0,0爲最高權限;
可以通過pid找到這個進程的uid,沒有試過通過Uid找到所有Pid,大家可以試一下;
每一個不同的程序都能有一個UId,但是一個應用裏面可以有多個PId;
一個用戶可以打開多個進程(Pid),並且這些進程的uid是一樣的;
一個pid對應一個進程,每次打開時系統都會賦予不同的pid,但是uid是當你安裝Apk時,系統賦予的,是不變的,除非你卸載了重裝,又會賦予一個Uid;
Tid(thead id)可以理解爲線程的Id,這個更容易理解。
Log分析:
log源碼:public static native int println_native(){
}:調用C類庫中的語言方法
出錯了
/data/log
手機有兩種出廠模式:
1.development
2.user--->沒有log
Log的文件組成:
1:系統基本信息,包括內存,CPU,進程隊列,虛擬內存,垃圾回收等信息
2.
3,。