Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Звук остается после выполнения removeChild
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Павел Гольцев  
View profile   Translate to Translated (View Original)
 More options Jul 2, 9:48 am
From: Павел Гольцев <p.golt...@gmail.com>
Date: Thu, 2 Jul 2009 17:48:24 +0400
Local: Thurs, Jul 2 2009 9:48 am
Subject: [ruFlash] Звук остается после выполнения removeChild
Всем привет!
После удаления объекта с помощью removeChild программный звук, который
был создан и запущен в классе этого объекта, продолжает проигрываться.
Значит ли это, что объект не был удален мусоросборщиком и до сих пор
присутствует в памяти?
Заранее всем спасибо.

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Valentin Simonov  
View profile   Translate to Translated (View Original)
 More options Jul 2, 10:00 am
From: Valentin Simonov <valy...@gmail.com>
Date: Thu, 2 Jul 2009 21:00:35 +0700
Local: Thurs, Jul 2 2009 10:00 am
Subject: Re: [ruFlash] Звук остается после выполнения removeChild

На самом деле ен факт, что весь объект все еще висит в памяти. Если создан
звук, вроде бы он обратно не линкует "родительский" объект. Так что, если
больше нет на него ссылок, то его уже может и не быть, а звук, а именно
SoundChannel играется. Статический же SoundMixer (тут я не в курсе) вполне
вероятно содержит ссылки на играющиеся SoundChannelы, так что звук не
уберется никогда, если не остановится.

Вспоминается баг, когда после закрытия браузера все еще играет звук и ничего
с ним не сделать. Не знаю как получается.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Павел Гольцев  
View profile   Translate to Translated (View Original)
 More options Jul 2, 10:32 am
From: Павел Гольцев <p.golt...@gmail.com>
Date: Thu, 2 Jul 2009 18:32:14 +0400
Local: Thurs, Jul 2 2009 10:32 am
Subject: [ruFlash] Re: Звук остается после выполнения removeChild
Забыл добавить, что звук запускается по таймеру. То есть для
зацикливания звука используется таймер. Судя по тому, что после
удаления объекта из stage, звук продолжает играть в цикле, таймер
продолжает срабатывать. Но разве такое может быть, если сам объект,
который содержит объект таймера, был затерт мусоросборщиком? В as2
такое было возможно с интервалами, поскольку запущенный интервал не
был привязан ни к какому объекту, а существовал глобально. В as3
вместо интервалов был введен класс Timer, объекты которого можно
создавать внутри других объектов. Но значит ли это, что при удалении
объекта, который содержит в себе объект таймера, таймер удаляется
автоматом? Или таймеры как и в случае с as2 остались глобальными, тока
поменяли функцию запуска на целый класс?
Или в моем случае все просто: объект так и присутствует в памяти,
поэтому звук и продолжает играть?

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Valentin Simonov  
View profile   Translate to Translated (View Original)
 More options Jul 2, 10:34 am
From: Valentin Simonov <valy...@gmail.com>
Date: Thu, 2 Jul 2009 21:34:33 +0700
Local: Thurs, Jul 2 2009 10:34 am
Subject: Re: [ruFlash] Звук остается после выполнения removeChild

ты подписан на событие таймера ----> есть ссылка на объект.
removeChild убирает только из дисплейлиста.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Artemyev Dmitriy  
View profile   Translate to Translated (View Original)
 More options Jul 2, 11:01 am
From: Artemyev Dmitriy <dimas....@gmail.com>
Date: Thu, 2 Jul 2009 18:01:58 +0300
Local: Thurs, Jul 2 2009 11:01 am
Subject: Re: [ruFlash] Re: Звук остается после выполнения removeChild

> ты подписан на событие таймера ----> есть ссылка на объект.
> removeChild убирает только из дисплейлиста.

как писалось в одном из блогов, что GC во флеше сам не умеет убивать
некоторые листенеры, такие как Event.ENTER_FRAME и TimerEvent.TIMER :(
Т.е. приходиться ручками их удалять насильно или же подписывать на
событие Event.REMOVE_FROM_STAGE и там проводить чистку листенеров. На
самом деле список там большой - и это плачевно

--
Flash/Flex developer
------------------------------------------------
skype: dimas_art
tel: +38 (068) 4749190
Ukraine, Crimea, Simferopol

Regards, Artemyev Dmitriy


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »

Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google