2009-11-13 14 views
0

Pourquoi Adobe ne suit-il pas son propre conseil? Captivate swf écoute-t-il son propre événement UNLOAD et nettoie-t-il toutes ses minuteries, ses écouteurs d'événements, références externes, etcComment décharger correctement un fichier SWF Adobe Captivate à partir de Flash Player 9 (pas 10)

Je trouve TRÈS DIFFICILE d'obtenir un Adobe Captivate swf de la mémoire du lecteur flash une fois chargé avec le Loader. Clairement, la méthode unloadAndStop n'est pas disponible dans Flash Player 9, donc ne le mentionnez même pas, sauf si vous avez l'équivalent du code source ActionScript pour la méthode qui fonctionnera dans Flash Player 9.

J'ai essayé la définition du Loader.content ["rdcmndRewindAndStop"] sur 1, pour provoquer le retour et l'arrêt du fichier Captivate. Que beaucoup des œuvres, mais je vois dans la sortie du débogueur après le déchargement du contenu que le contenu est toujours suspendue en mémoire répondant à certains événements:

TypeError: Error #1009: Cannot access a property or method of a null object reference. 
at captivate.Veela_AS3::rdAVM1SwfLoader/getLoadBase() 
at captivate.Veela_AS3::rdAVM1SwfLoader/onload() 
at captivate.Veela_AS3::rdAVM1SwfLoader/initItemVariables() 
at captivate.Veela_AS3::rdItem/frame1() 

Répondre

1

Même avec Flash Player 10 et la méthode unloadAndStop avec rien ne se passe mais le film captivate étant chargé, l'utilisation de la mémoire étant tracée à un champ de texte, et forçant les collections de garbage, je peux voir le fichier captivate ne sera pas déchargé, jamais même dans la situation la plus simple

Je considère mettre les fichiers captivate et les charger à partir d'un domaine de sécurité séparé, sous-domaine du serveur et va essayer cela. Si quelqu'un a eu du succès, j'aimerais le savoir.

Merci,

kb

+0

Il est nul que 5 ans plus tard, lors d'une recherche sur Google, j'arrive une fois de plus à une question et réalise que je suis l'auteur. Triste que les films captivants ne seront toujours pas déchargés correctement en 2014. – Triynko

0

récemment dû faire face à ce même problème, j'a été chargé de mettre à jour un flash « lecteur de contenu » a également fait en flash. Le problème est qu'ils voulaient maintenant lire du contenu Captivate publié en tant que fichiers SWF.

J'ai corrigé le problème de déchargement de Captivate en les chargeant dans leur propre copie d'un autre fichier flash.

J'ai donc:

  • ContentPlayer.fla
  • CaptivateLoader.fla
  • Captivate.cptx

Chaque fois doit être chargé une nouvelle Captivate, ContentPlayer charges à la place un nouveau copie de CaptivateLoader.swf, et lui dit de charger le Captivate.swf. Lorsque contentPlayer décharge le précédent CaptivateLoader.swf, tout ce qu'il charge est détruit avec lui.