Файл окна приложения 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!