Android 是一个software stack, 包括关键的应用, 中间件, OS(linux-2.6.xx)
每个java 应用都有自己的java虚拟机 dalvik (dex: dalvik executable), 所以又多个java虚拟机并行执行, android使用zygote进程管理这些 dalvik虚拟进程。
1. 按键的对应关系: /docs/guide/developing/tools/emulator.html
-
Home: 键值Home, 在任意位置按下时都能返回主界面, 长按时可以调出当前可用的应用列表,选中其一就可以把该应用拉到最前端。Activity仍然在后台执行(Pause)
-
Menu: 键值F2或者Page UP, 为当前应用调出弹出菜单, 长按时可以让菜单项显示其快捷键。
-
Back: 键值 ESC, 关闭App,Menu, 或者 Dialog Box的UI。
Activity被Destory掉,
Back键关Activtiy,从Java层面程序被关掉,即Activity对象被释放,从Linux层面的进程看,虚拟机进程并没有被关掉。重启Activity时,虚拟机察看Linux进程,如果存在,直接Attatch到这个进程。
想真正关掉,在Java层没有正规API,是在App
Framwork层控制。只能从adb
shell 将进程kill。
-
Call: ==> F3
-
End Call: ==> F4, 按下为锁定屏幕进入休眠模式。 长按时调出关机或者静音模式的菜单。
-
Toggle trackball mode ==> F6
-
Flip orientation, Open/Close Keyboard ==> KEYPAD_9/7
-
Toggle cell networking on/off ==> F8
其他说明:
2. 基本操作。
3. 开发工具:
-
Emulator : AVD android virtual device
-
Hierarchy Viewer: 调试和优化UI的工具,可以获取App运行时的对性信息
-
SD card emulation: 创建SD card 设备用于模拟器。例如想用startTraceMethod来产生log文件的时候,文件默认要保存在sdcard上,所以需要在avd上附件sdcard设备。
-
adb: android debug bridge: 安装apk文件到设备, 并能通过命令行访问设备
-
ddms:dalvik debug monitor service: 管理进程信息,并提供提示工具
-
Draw 9-patch: 允许你使用WYSIWYG 编辑器来创建NinePatch图像。
-
Sqlite3: 访问SQLite数据文件
-
TraceView: 把log文件用图表的形式显示出来,便于分析程序执行的性能。
常用android的widget
- text button
- list
- date & time
- grid
- progress bar, gallery
- mapview webview
- tabhost
- dialog
- etc ...
重要文件:
- R.java: android 资源定位文件, 在任意源码文件发生改变的情况下自动更新。
- AndroidMenifest.xml: 程序的装载清单。描述应用的activities, services,content provider, Intent receivers, permisssions 等等, 其中intent filters描述了何时何地activity能被启用。
如何调试:
- Logcat: 系统导出信息, 用户程序可以通过代码在此部分的输出。log.x 系列函数
- ddms: 文件浏览, 监控进程、线程、堆信息,界面捕获
- adb: 考入考出文件。
- 在硬件设备上可以通过USB 通过adb进行调试, 要求打开设备USB debugging选项,其实就是启动了adbd的服务。
阅读(2018) | 评论(0) | 转发(0) |