Файл окна приложения FirstActivity.java
В каталоге src/имя_пакета/ (в нашем случае — src/com.samples.firstapp/) находится файл HelloAndroidActivity.java — это класс, автоматически генерируемый ADT-плагином для главного Activity (окна) приложения.
Плагин определяет в классе метод обратного вызова onCreate(), который вызывается системой для прорисовывания окна Activity на экране устройства. В этот класс разработчик может добавлять код, реализующий логику работы приложения в данном Activity.
Файл AndroidManifest.xml
Файл манифеста приложения — структурный XML-файл, который всегда имеет название AndroidManifest.xml для всех приложений. Он задает конфигурацию приложения: объявляет компоненты приложения, перечисляет любые библиотеки, связанные с приложением (помимо библиотек Android, связанных по умолчанию), и объявляет разрешения, которые требуются для работы приложения (например, доступ в сеть, разрешение на отправку SMS и т. д.).
Файл манифеста приложения выполняет следующие функции:
объявляет имя Java-пакета данного приложения. Имя пакета служит уникальным идентификатором для приложения;
описывает компоненты приложения — Activity, Service, BroadcastReceiver и Content Provider, из которых состоит данное приложение. Эти объявления позволяют системе Android знать, чем компоненты являются и при каких условиях они могут быть запущены;
объявляет, какие разрешения должно иметь приложение для обращения к защищенным системным службам и взаимодействия с компонентами других приложений;
|
|
объявляет разрешения, которые сторонние приложения обязаны иметь, чтобы взаимодействовать с компонентами данного приложения;
объявляет минимальный уровень API Android, которого требует приложение;
перечисляет библиотеки, с которыми приложение должно быть связано.
8. Использование DDMS
Используйте панель DDMS (Служба для отслеживания процесса отладки в Dalvik) для отслеживания и контроля за виртуальными машинами Dalvik. Это мощный отладочный инструмент, позволяющий изучать активные процессы, просматривать стек и кучу, мониторить и останавливать рабочие потоки, исследовать файловую систему подключенного устройства.
Возможности
· Управление задачами
· Управление файлами
· Взаимодействие с эмулятором
· Журналирование (журнальные записи LogCat)
· Создание скриншотов (захват изображения с экрана эмулятора)
При использовании ADT утилита DDMS интегрируется в Eclipse и доступна из соответствующей панели (Window→Open Perspective→DDMS). В противном случае вы можете запускать DDMS из командной строки - ее исполняемый файл находится в папке Android SDK /tools.
Управление задачами
На панели Devices перспективы DDMS можно увидеть список эмуляторов и телефонов, подключенных в текущий момент. Можно выбрать отдельные экземпляры, просмотреть текущие процессы и потоки. Чтобы просмотреть поток, щелкните мышью по нужному процессу устройства, затем на кнопке обновления потока.
|
|
Обзор файловой системы
Для просмотра файлов и папок в эмуляторе или на устройстве вы можете использовать панель File Explorer. Вы можете копировать файлы между системой Android и вашим компьютером с помощью кнопок перемещения. Также можно удалять файлы. При этом на экран не выводится сообщение о подверждении операции и отмены операции, поэтому будьте осторожны.
Взаимодействие с эмулятором
Панель Emulator Control позволяет выполнять голосовые вызовы, отправку и прием SMS, запрос геолокационных координат.
Входящие голосовых вызовов являются имитацией. Это не настоящий звонок, никакие данные не передаются.
Threads
Вы можете анализировать информацию по каждому процессу и его потокам. Достаточно выделить необходимый процесс нашего приложения и нажать кнопку Update Threads.
Справа вы можете увидеть вкладку и работающие потоки выбранного процесса. По каждому потоку доступна следующая информация:
· Id - уникальный идентификатор потока, назначенный виртуальной машиной. Если рядом символ звездочки, то это демон-поток;
|
|
· Tid - идентификатор потока в Linux. Главный поток процесса будет содержать id процесса;
· Status - статус потока на данный момент;
· utime - общее время, которое поток потратил на выполнение пользовательского кода. Единицы измерения jiffies, длительность которой определяется системой и обычно составляет 10ms;
· stime - время, потраченное на выполнение системного кода. Единицы измерения также jiffies;
· Name - имя потока. Не забывайте давать осмысленные имена при создании потока.
Таким образом, мы можем понять, какой поток больше всего расходует процессорного времени. Тут следует сказать несколько слов о некоторых потоках.
GC - это поток сборщика мусора. До Android 3 он недоступен для просмотра в потоках.
JDWP (Java Debug Wire Protocol) - протокол взаимодействия между дебагером и виртуальной машиной.
Это собственно его поток. Не стоит беспокоиться его появлению, он создается только при отладке приложения.
Вы также можете наблюдать за вашими действующими потоками и выявить утечку памяти, если какой-то из ваших потоков присутствует в списке в двух экземплярах (естественно, если так не задумано). Допустим, вы повернули экран, но при этом забыли грамотно обработать закрытие потока, после чего создали его копию. В списке вы увидите оба таких потока с одинаковыми именами.
|
|
Heap
Инструмент для отладки кучи. Следует выбрать необходимый процесс и выбрать кнопку Update Heap.
Вам будет доступна информация о распределении динамической памяти в нашем процессе. Запускаем сборку мусора (Cause GC) и смотрим что осталось.
· Heap size - это общий размер кучи, который выделил Android под данный процесс;
· Allocated - используемая память;
· Free - свободная память;
· Used - используемая память в процентах;
· Objects - общее кол-во объектов, которые составляют allocated размер
Allocation tracker
Позволяет отследить, какие объекты были созданы у выбранного процесса за выбранный промежуток времени, где можно посмотреть какие объекты создавались чаще, их размер, поток который их создавал и стек вызова.
Нажимаем на кнопку Start tracking, после чего производим действия с приложением, которые хотим проанализировать, далее нажимаем кнопку Get Allocations. Появится список объектов, которые были созданы за этот период времени.
Доступная информация:
· Alloc Order - номер созданного объекта;
· Allocation Size - размер объекта;
· Allocated Class - тип объекта;
· Thread Id - идентификатор потока, назначенный виртуальной машиной (не путать с Tid);
· Allocated in - класс и метод, в котором был создан объект.
Вы можете выбрать любой объект и посмотреть весь его стек вызова. Таким образом, можно получить информацию о том, где создаются объекты, как часто, их размер и принять соответствующие меры. Создание объекта - это дорогостоящая операция и её следует избегать.
Start Method Profiling
Данный инструмент позволяет анализировать время, которое было затрачено методами на свою работу. Тем самым, мы можем понять узкие места в нашем коде и оптимизировать их.
После завершения работы stopMethodTracing, trace будет доступен в /sdcard/trace_name.trace. Это бывает очень полезно, если мы хотим оптимизировать определенные участки кода, либо к примеру улучшить скорость старта приложения.
Отладку приложений можно производить двумя способами: в среде Eclipse, как обычное приложение Java, и с помощью инструмента, входящего в состав Android SDK — DalvikDebugMonitorServer (DDMS).
Запустить DDMSможно из подкаталога tools/ вашей инсталляции Android SDK или, если вы добавили пути для инструментов Android в переменную окружения path, через командную строку, набрав команду ddms.
В левой части окна отображаются запущенные экземпляры эмуляторов. Чтобы подключить DDMS к эмулятору, достаточно выбрать имя эмулятора на панели Name. При установке соединения DDMS с эмулятором на этой панели отобразится список запущенных процессов. Чтобы посмотреть информацию о нужном процессе, выделите его мышью (на рис. 3.13 выделен процесс com.samples.intro.firstapp —это наше приложение, запущенное на эмуляторе). В правой части окна отображается набор закладок, в которых можно посмотреть информацию о процессе и системе в целом — порождаемые этим процессом потоки, работу Dalvik VM, распределение памяти и много другой полезной информации. В нижней части окна DDMS в реальном времени отображаются события, происходящие в системе.
Если выбрать пункт меню Device | File Explorer, откроется окно, отображающеефайловую систему эмулятора.
File Explorer помимо просмотра файлов позволяет копировать, вставлять и удалять файлы. Можно, например, поместить запакованный файл Android-приложения (файл с расширением APK) из компьютера на мобильное устройство.
Дата добавления: 2018-06-27; просмотров: 236; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!