am指令是 activity manager的缩写,可以启动Service、Broadcast,杀进程,监控等功能
am命令实的实现方式在Am.java,最终几乎都是调用ActivityManagerService相应的方法来完成的
frameworks/base/cmds/am/src/com/android/commands/am/Am.java
am dumpheap com.android.browser /data/local/tmp/test.hprof
Usage: am [subcommand] [options]
-a <ACTION> 指定要执行的操作,例如:android.intent.action.VIEW
-d <DATA_URI> 指定要传递给 ACTION 的数据 URI
-t <MIME_TYPE> 指定数据的 MIME 类型
-c <CATEGORY> 指定要附加到意图的类别
-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> 传递一个字符串类型的额外数据
--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> 传递一个布尔类型的额外数据
-n <COMPONENT> 显式指定要启动的组件的包名和类名
-f <FLAGS> 指定操作标志,例如:FLAG_ACTIVITY_NEW_TASK
--activity-clear-task 清除任务栈中的所有活动并添加新的活动
--activity-no-animation 启动活动时禁用动画效果
--activity-single-top 如果已存在相同的活动实例,则将其置于顶部而不创建新的活动实例
--activity-single-instance 启动一个新的任务,并且在新任务中只创建一个活动实例