14 часов назадХотелось бы узнать, Как вы относитесь к пиву? Если положительно, то какое предпочитаете? Если отрицательно, то почему? Просто интересно...
2 дня назадпрям таки тебе и скажут здесь посмотри
3 дня назадНапишите мне на имейл (sbnur@front.ru) - очистка памяти в флеш-плеере нетривиальная проблема и все зависит от конкретного кода - чтобы не превращать, как уже отмечалось, в форум, лучше обсудить все приватно
3 дня назад1) Спасибо всем кто ответил.
2) Чтобы блог действительно не превращался в форум хотелось бы видет более обоснованные ответы, приводите пожалуйста доводы доказывающие вашу точку зрения.
3) Из комментов видно, что не все понимают зачем нужен именно мувик с вложенными в его кадры анимациями. Поясняю: этот мувик обычно собирается дизайнером, который не имеет особого представления о работе AS. Дизайнеру проще сделать мувик с лейблами чем написать специальный класс. Я же использую один класс для всех подобных мувиков в котором программно обрабатываю переход от одной анимации к другой. Таким образом для всех мувиков используется один класс.
4) Знаю что использование мувиков, созданных в IDE не является хорошей практикой, но в данном случае удобен именно этот подход. К тому же если метод мувика gotoAndStop реализован и описан в официальной документации он может использоваться и должен правильно работать.
5) Если встраивание видео в мувик несет в себе какие-то сложности, об этом должно быть указано в хэлпе.
6) Теоретически наверное можно найти какое-то другое решение проблемы, но речь изначально шла о том является ли такое поведение багом, и если так - этот баг должен быть добавлен в базу Adobe.
7) Очень хотелось бы ,чтобы кто-то проверил это у себя или указал как эту проблему можно решить.
3 дня назадgotoAndStop(label);
мама роди меня обратно ...
3 дня назадБлог превращаетсо в форум -- пичалько.
3 дня назадМожет попробовать аттачить и удалять мувиклипы при необходимости из библиотеки? Удалили предыдущий мувик со stage и добавили новый, который нужно проиграть.
примерно так:
var _class:Class = getDefinitionByName("nameClass") as Class;
var _mc:MovieClip = new MovieClip(new _class());
addChild(_mc);
...
removeChild(_mc);
3 дня назадСпасибо за ответ. Хочу пояснить что я пробовал чтобы люди могли лучше понять суть проблемы. Сорри, если много букв. Вот код функции для переключения кадров с видео: [collapse] <code> public function playAnim(label:String):void { // проверяем есть ли такая метка в списке доступных if (labels.indexOf(label) != -1) { // если метка отличается от текущей выполняем переход if (currentLabel != label) { // "anim" - это мувик с именем "anim" и объектом Video внутри, в нем также могут находится мувики с графикой if (anim) { // стопим его, при помощи ENTER_FRAME Event с WeakReference я проверял его текущий кадр и трейс показывает что он нормально стопится anim.stop(); // удаляем его из DisplayList removeChild(anim); // проходим по всем его вложенным DisplayObject-ам while (anim.numChildren) { var vid:Video = anim.getChildAt(0) as Video; // если находим видео, пытаемся принудительно вызвать GarbageCollector if (vid) { trace(">>> FORCE GC! <<<"); try { new LocalConnection().connect('foo'); new LocalConnection().connect('foo'); } catch (e:*) {} } // удаляем все найденные DisplayObject-ы anim.removeChildAt(0); } // обнуляем автоматически созданную переменную (сам флэш иногда это не делает) anim = null; } // переходим на новый кадр с мувиком "anim" внутри которого лежит другое видео gotoAndStop(label); } } } </code> [/collapse] Странно, что без вызова GarbageCollector-а все видео продолжают висеть в памяти. Если вызывать GarbageCollector как показано в коде, то некоторые видео удаляется (исчезают трейсы от них), а некоторые продолжают висеть в памяти остановленные на одном кадре, хотя ссылок на них в коде больше нет. Хэлп от Адоб утверждает (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Video.html) что потоковое видео можно остановить соответствующими вызовами: myVid.attachCamera(null); myVid.attachNetStream(null); Про то как остановить встроенное видео нет ни слова. Хотелось бы видет простой метод dispose() как у BitmapData что какжется логичным. Хочется делать простые вещи без всяких костылей и хакерства.
Эта статья является производной от текста iPad User Experience Guidelines.
В руководстве для разработчиков от Apple объясняется, как создавать пользовательские интерфейсы, оптимизированные для устройства iPad. По словам Apple, лучшие iPad-приложения это те, что отодвигают роль интерфейса на второй план и фокусируются на содержании; те, что представляют современный контент в привлекательном, зачастую - реалистичном виде, а также те, что в полной мере используют возможности устройства iPad для более активного взаимодействия с пользователем. Дополнительую информацию о разработке для iPad можно найти в центре Apple для iPad, в документах Adobe по разработкe Flash-приложений для iPad и iPhone, а также о работе AIR на iPad. Итак, о чем надо знать разработчикам под iPad:
После того, как Apple официально разрешила публикацию Flash-приложений на iPhone и iPad, у вас может возникнуть большой соблазн быстро перенести все свои разработки на платформу Apple, но будьте внимательны - и не работайте в ущерб качеству. iPad - это действительно передовая платформа, и вы, как ответственный разработчик, должны следить за тем, чтобы соблюдать высокие стандарты, заданные этим инновационнным устройством. Не живите только одним днем - знайте, что после прохождения проверки в Apple на ваши приложения будут обращены взгляды миллионов пользователей, привыкшик к удобству и скорости; и если вы опубликуете некачественное приложение, то тем самым уроните в глазах других не только свою собственную репутацию, но и имидж всей платформы Flash. Делайте свое дело хорошо - и пусть вас ждет успех!
Звучит неубедительно? Тогда - еще одна новость, тоже сегодняшняя, но не такая популярная: вместе с открытием платформы iOS для всех разработчиков, Apple повышает требования к качеству приложений, заявляя что им больше не нужны "пукалки".
Продолжение - под катом: Flash на iPad и "таблетках": о чем надо знать разработчикам.
Ваше приложение должно приветствовать взаимодействие людей с iPad с любой стороны, доставляя прекрасные ощущения при работы в любом направлении. Причина в том, что люди не видят это устройство как имеющее ориентацию по умолчанию, потому что они не обращают внимания на минимальную рамку вокруг активной области экрана и их не занимает расположение кнопки "Домой" (Home). Они могут повернуть iPad любой стороной и использовать его так. Подготовьте свое приложение к этому.
Лучшие IPad-приложения дают людям новые пути взаимодействия с контентом, при этом выполняя четко определенные конечные задачи. Не поддавайтесь искушению заполнить большой экран функциями, не имеющими прямого отношения к основной задаче. В частности, вы не должны рассматривать большой экран iPad как приглашение наконец реализовать весь тот функционал, для которого вам не хватало места на экране мобильного телефона или iPhone. Также вам не следует перегружать пользователя всеми теми возможностями, которые вы традиционно использовали на девятнадцатидюймовых экранах больших компьютеров.
Хотя вы не хотите упаковывать слишком много информации в один экран, вы также не хотите, заставлять людей посещать множество разных экранов в поисках нужного им. В общем, сфокусируйте главный экран на основном содержании и предоставьте дополнительную информацию или инструменты на вспомогательных экранах, таких, как поповеры (popover).
Пример поповера:

Вместо смены целого экрана каждый раз, когда изменяется некоторая порция встроенной информации, обновляйте только те области интерфейса пользователя, которые в этом нуждаются. При меньшем количестве полноэкранных переходов ваше приложение обладает большей визуальной устойчивостью, что помогает людям отслеживать, где они находятся в решении своей задачи.
Подумайте о том, что люди могут захотеть использовать ваше приложения вместе с другими людьми. Расширьте свое мышление и включите в свой анализ как физическое разделение одного устройства между двумя, тремя, четырьмя и более людьми, так и виртуальный обмена данными, жестами, словами и эмоциями.
Когда только это возможно, добавляйте в ваше приложение реалистичное, физическое измерение. Чем больше жизненной правды во внешнем виде и поведении вашего приложения, тем легче людям понять, как оно работает и тем больше удовольствия они получат от использования. Воспользуйтесь хорошо работающим встроенным в iPad акселерометром.
Приделанный к iPad экран с высоким разрешением поддерживает богатую, красивую, привлекательную и шикарную графику, которая затягивает людей в приложение и вознаграждает за выполнение простейших задач.
Заставьте их от удивления широко раскрыть глаза!

Помогите людям сосредоточиться на содержании, и создавайте интерфейс вашего приложения как тонкое обрамление для информации, в которой на самом деле заинтересованы люди. Ускромните элементы управления, сведя к минимуму их броскость и количество. Рассмотрите возможность создания специальных, тонко интегрированных в графический стиль вашего приложения элементов управления. В таком случае управляющие элементы легко обнаружить, но они не слишком бросаются в глаза.
Пример специальных элементов управления: Гусли на iPad. Здесь элементами управления являются струны гуслей, за которые вы должны дергать, проводя пальцем по экрану iPad, чтобы извлечь прекрасный древний звук. Обратите внимание, что у вас, как у флэш-разработчиков, есть все инструменты для того, чтобы делать такие приложения. Воспользуйтесь этой сильной стороной флэша - возможностью легко имитировать объекты реального мира - чтобы получить перед другими разработчиками конкурентные преимущества на платформе iPad. Гусли старые и гусли новые:
Приложения для iPad должны позволять людям действовать нелинейно. Модальность является препятствием на пути к такой свободе, прерывая рабочий процесс людей, принуждая их выбирать определенный путь.
Посмотрите на свое приложение реально. Например: на iPhone "Контакты" - это просто упорядоченный список, но на iPad "Контакты" - это великолепная адресная книга в красивом кожаном переплете.
Большой экран на iPad дает прекрасное пространство для жестов несколькими пальцами, в том числе жестов, совершаемых более, чем одним человеком - двумя людьми или группой людей. Учтите эту возможность.
Если вы используете модальные представления для реализации автономных задач, то знайте -- вы также можете использовать вместо них поповеры.
Пример: выбор трека в секвенсере iELECTRIBE для iPad от KORG. Пока вы выбираете в поповере (на картинке - слева) новый трек, продолжается проигрывание текущего трека; после выборе трека поповер не исчезает, а выбранный вами трек начинает проигрыаться:
Люди ценят возможность выполнения автономной подзадачи в модальном представлении, потому что смена контекста носит четкий и определенно временный характер. Но если подзадача слишком сложна, то люди могут упустить из виду главную задачу, выполнение которой приостановилось, когда они вошли в модальное представление. Чтобы избежать этого, вы, как ответственный разработчик, должны заведомо ограничить сложность модальных задач.
Хотя приложения iPad могут позволять людям создавать файлы и манипулировать ими, а также делиться ими с компьютером (при подключении устройства), то это не значит, что люди должны чувствовать присутствие на iPad файловой системы. Постарайтесь построить работу приложения так, будто файлов не существует вообще. Если это возможно. Если это не противоречит вашим убеждениям. Даже если вы знаете, что внутри iPad есть целый Darwin, сделанный из FreeBSD. Но зачем, вообще говоря, знать о том, что файлы существуют? Они вам не надоели еще?
Люди должны быть уверены, что их работа всегда сохранена, если только они не хотят явно отменить или удалить ее. Если ваше приложение помогает людям создавать и редактировать документы, убедитесь, что они не должны предпринимать явных действий для сохранения. Звучит парадоксально? Да. Это парадоксально, но вы если вы пользовались iPad - вы поймете, почему это работает. Наконец-то можно отдохнуть от бесконечных файлов!
Приложения iPad должны начинать работу как можно быстрее, чтобы люди могли начать использовать их без промедления. Ведь люди так не любят ждать. Несмотря на то, что они такие ленивые. Или из-за этого? О черт, им даже ждать лень! Но увы, таковы люди. Не заставляйте их ждать зря. И при этом -
Как и приложения для iPhone, приложения для iPad останавливаются сразу, как только люди нажимают кнопку "Домой", чтобы открыть другое приложение. Знайте об этом!
Узнать подробнее об этих руководящих принципах, а также найти дополнительную информацию о разработке для iPad можно в руководстве по дизайну человеческих интерфейсов для Apple iPad.
Успеха вам на новой, инновационной платформе!

Комментарии
Прекрасные новости
В руководстве для разработчиков от Apple объясняется
Сначала купите себе Айпад и Mac, и потом начинайте пробовать разрабатывать приложения. Если же они нам не понравятся то мы пошлём вас куда подальше.
Это я немного сократил руководство для разработчиков
А ты знаешь, что некоторые люди считают, будто это я подписываюсь именем Artem Brigert и пишу такие вещи, как сейчас написал ты?
Я знаю не только это, а ещё и мого всего другого. Помоему меня многие недооценивают
Рост, все всё знают уже, не надо пытаться это отрицать разговаривая сам с собой (8
Можно использовать хакинтош (главное это не афишировать особо).
Но для тестирования приложения на реальном устройстве, разумеется, потребуется реальное устройство.
Так же как для отладки десктопного приложения под винду требуется PC и винда.
Так же как для отладки десктопного приложения под винду требуется PC и винда.
ага вот только для человеческой инсталляции мне не надо спрашивать у "непонятно кого" можно мне это сделать или нет.
Похоже, мы cможем увидеть упаковщик AIR iPhone снова в деле Тыц
Ссылка на мой новый блог.
Похоже, мы cможем увидеть упаковщик AIR iPhone снова в деле Тыц
Ссылка на мой новый блог.
И еще раз убедимся что это полное дерьмо!
Сейчас - может быть он и глючной, но ставку на "AIR + iOS" можно делать уже сейчас.
Другими словами - какой бы ни был упаковщик, можно начинать делать аппликухи.
А потом - или АДоб доведет до ума свой, или кто-то сделает другой, но результат будет один - нормальный упаковщик.
А у тебя к этому моменту уже будут готовы аппликухи - просто перепакуешь их и все. Ну может быть придется подкрутить их, но это проще, чем делать их с нуля.
Не плохо было бы пост под кат определить....
+1
Рост, а почему статья выглядит так, будто она переведена с английского?
Потому что она на 90% переведена с английского, а остальные 10% дописаны так, чтобы соответствовать этому стилю - он мне нравится. Принимаются альтернативные варианты текста
Мне одному кажется, что флеш приложения будут там тормозить? Большинство флеш игрушек к примеру не отличается гладким фпс на пк, а там что будет?
Заебок статья, спасибо!
Берегите честь смолоду?
Это прямо как то в отношении яблок...
http://techland.com/2010/09/09/ten-apps-that-break-apples-app-store-guid...