Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 03 янв 2014, 14:22

Здравствуйте. Рад представить вам первый вебинар в этом году, который является продолжением прошлого вебинара и посвящен DDMS.
Время проведения: 9 января в 20.00 по Мск
Ссылка на трансляцию: тыц!
Будет рассмотрен такой инструмент, как Method Profiling.
Изображение
Изображение
Если вы не знаете что это и никогда не использовали, то очень рекомендую быть. Он предназначен для определения загруженных методов - поиска методов, которые тратят большинство времени на выполнение какой-то работы. Также рассмотрим каким образом возможно анализировать определенные участки кода с целью нахождения "тяжелого" кода.
Вебинар рассчитан на людей, кто не имел дел с данным инструментом.


Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 09 янв 2014, 19:59

Отличие Inclusive от Exclusive
Excl – время, которое тратится в методе.
Incl – время, которое тратится в методе, плюс время, которое тратится на выполнение других методов.
http://developer.android.com/tools/debu ... ofilepanel
Exclusive time is the time spent in the method. Inclusive time is the time spent in the method plus the time spent in any called functions.
Пример:
[syntax=java5]
/*
* (Excl)
* Время тратится только на код, который выполняется непосредственно в самом методе
*/
String s = "some string";
void method1() {
s = s+"new string";
int a = 2 + 3;
}
[/syntax]
[syntax=java5]
/*
* (Incl)
* В данном случае время тратится на выполнение кода в самом методе,
* плюс на выполнение кода метода method2()
*/
String s = "some string";
void method1() {
method2();
s = s+"new string";
int a = 2 + 3;
}

void method2() {
int b = 1 + 2;
}
[/syntax]

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение anber » 10 янв 2014, 00:58

Привет, смотрел вебинар с девушкой, у нее следующие комментарии:
1 ) В начале встречалось слово-паразит "ладно", ну ладно...
2) довольно много вызовов гарбадж коллектор - довольно много это сколько?
3) обещал рассказать что такое self, но не рассказал.

Моя девушка думает что у тебя типичный для программиста голос -
измученный, с хрипотцой и очень заморочный слоган (что бы это не значило).
И у нее такое впечатление что ты не высыпаешься причем серьезно и долго.
А главное когда рассказываешь нужно больше энтузиазма и задора - то те кто слушает попросыпались :)

А вообще вебинар - супер, рассказал так что даже моя девушка поняла зачем нужен ддмс :D
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Foenix » 10 янв 2014, 08:11

свое мнение слабо уже высказать)) девушками прикрываемся, безобразие)
мало твоя девушка программистов слышала)) теперь пусть смотрит по видео конференции гугла, там не заснешь :-D смотри, поймет что такое listview, там до потоков недалеко - работу потеряешь ))
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 10 янв 2014, 09:35

На самом деле вебинар откровенно слабым вышел (ИМХО), язык у меня слабо ворочался. В первом вебинаре хоть речь немного отработал, а тут не успел, работал уже с 3-го числа без выходных =). Но признаю что хоть и коряво, но преподал то что хотел. То что девушка поняла, уже хорошо =)

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение anber » 10 янв 2014, 12:53

Foenix писал(а):теперь пусть смотрит по видео конференции гугла, там не заснешь :-D
Кстати по поводу конференций Гугла - большим преимуществом является то что видно лицо говорящего, имхо это намного улучшает восприятие информации, чем голос за кадром.
Foenix писал(а):свое мнение слабо уже высказать)) девушками прикрываемся, безобразие)
Я бы тебя с ней с удовольствие познакомил, но мне потом будет головомойка на тему "что это за форум с девочками на котором ты торчишь до 3 ночи???"
По поводу моего мнения - я то ддмс более-менее знаю, поэтому привожу мнения стороннего наблюдателя, исключительно в целях улучшения общего уровня качества вебинаров :D

UPD. Раз зашла речь про нужные инструменты, возможно стоит рассказать про МАТ? Или это было в 1 части вебинара?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 10 янв 2014, 13:12

Кстати по поводу конференций Гугла - большим преимуществом является то что видно лицо говорящего, имхо это намного улучшает восприятие информации, чем голос за кадром.
да я и сам предпочитаю такой вариант куда лучшим, но он нереализуем в нашем случае
UPD. Раз зашла речь про нужные инструменты, возможно стоит рассказать про МАТ?
Я хотел следующий вебинар как раз посвятить этому инструменту, но сейчас из-за нехватки времени для более детального его изучения, думаю это дело пока что отложить. Быстрее всего я выпущу большую статью на эту тему на хабре, потому как там практически ничего нет по данному вопросу. На данном форуме 99 процентам людей вообще не интересны такие темы.
Или это было в 1 части вебинара?
Нет, я про него вскользь упоминал, но он слишком сложный для вступления.

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение anber » 10 янв 2014, 13:39

m090050 писал(а):
Кстати по поводу конференций Гугла - большим преимуществом является то что видно лицо говорящего, имхо это намного улучшает восприятие информации, чем голос за кадром.
да я и сам предпочитаю такой вариант куда лучшим, но он нереализуем в нашем случае
почему нереализуем?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.


Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение anber » 10 янв 2014, 15:11

>>>Реализуем, есть проектор, есть микрофон, есть указка... но пока не будет определенного количества публики то этот тип вебинаров остается за кулисами.
кто такой добрый редактирует мои сообщения?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение rezak90 » 13 янв 2014, 07:24

anber писал(а):кто такой добрый редактирует мои сообщения?
Это я :D . В Таиланде нето что нету русской раскладки, так компы и и-нет тормознутые и в итоге не туда нажал.
Реализуем, есть проектор, есть микрофон, есть указка... но пока не будет определенного количества публики то этот тип вебинаров остается за кулисами.
Выше сказанное подтверждаю!
R.id.team
Политика на форуме запрещена


Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 24 фев 2014, 17:09

Пока не планирую. Думаю по MAT написать статью, а уже возможно сделаю вебинар.

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение n0tb0dy » 27 ноя 2014, 20:53

А вы не планируете сделать небольшой вебинарчик или даже просто видео по отладке приложения с использование брэкпоинтов и отслеживанием значения переменных и т.д. и т.п. ?

Было бы интересно узнать по этой теме побольше

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение rezak90 » 27 ноя 2014, 22:00

n0tb0dy писал(а):А вы не планируете сделать небольшой вебинарчик или даже просто видео по отладке приложения с использование брэкпоинтов и отслеживанием значения переменных и т.д. и т.п. ?

Было бы интересно узнать по этой теме побольше
ну это же совсем просто и таких видео достаточно в интернете
P.S. и хорошо зная автора данного вебинара, он не пользуется
n0tb0dy писал(а):использование брэкпоинтов и отслеживанием значения переменных
R.id.team
Политика на форуме запрещена

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение doter.ua » 28 ноя 2014, 02:06

Android studio + пошаговый дебаг + калькулятор выражений.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение klblk » 28 ноя 2014, 06:07

doter.ua писал(а):Android studio + пошаговый дебаг + калькулятор выражений.
*klblk с грустью смотрит на с++ код*

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение Mikhail_dev » 28 ноя 2014, 09:56

n0tb0dy писал(а):А вы не планируете сделать небольшой вебинарчик или даже просто видео по отладке приложения с использование брэкпоинтов и отслеживанием значения переменных и т.д. и т.п. ?

Было бы интересно узнать по этой теме побольше
Ну там рассказывать нечего, ставить брекпойнт на строку и запускать в режиме дебага. В итоге как код доползет до искомой точки, то можно будет посмотреть все результаты переменных, задействованных там. И да, как заметил Слава
P.S. и хорошо зная автора данного вебинара, он не пользуется
я почти не пользуюсь не пользуюсь дебаггером, ибо если мне надо узнать значение переменной, то я напишу строчку
>Log.d("sample", "field="+field);
написание строчки занимает 5 секунд, а различие в скорости между дебаггером и обычной работой порядка 5-10 раз, и это не в сторону дебаггера естественно, так что при одинаковых результатах я выбираю менее долгий.
Некоторые заметят, что я мусорю, но у меня есть привычка запускать комбинацию Ctrl+shift+F (Android Studio), куда я забиваю строчку "sample" и он по ней studio ищет по всему проекту мой мусор. Обычно это немного, пару строк.
И только когда
Изображение
только в этих случаях я обращаюсь к дебагеру. Например мне надо в режиме отладчика изменить ответ сервера, пришедший мне, либо значение переменной и посмотреть как работает в таких случаях программа. Но такие ситуации довольно редкая вещь, так что следует понимать, где использовать консоль, а где дебаггер, чтобы не стрелять из пушки по воробьям.

Аватара пользователя
n0tb0dy
Сообщения: 135
Зарегистрирован: 14 фев 2014, 09:42

Re: Вебинар 7. Аптечка хорошего разработчика. DDMS. Часть 2

Сообщение n0tb0dy » 28 ноя 2014, 13:11

спасибо... я и сам обычно узаю Log.d :)

по ходу это и правда удобней в большинстве случаев

я потом просто коментю сточку import android.util.Log;

и Eclipse мне сам высвечивает все строки с Log.d которые надо убрать из релиз версии, которые я тоже быстро коментю

Ответить