[akabana-user:183] Re: S2Flexのメモリリークについて
jun funakura
[E-MAIL ADDRESS DELETED]
2008年 10月 16日 (木) 15:41:13 JST
ふなくら(nod)です。
メールチェックを怠っていましたm(__)m
下記現象確認いたしますので
少しお待ちください。
componentsを作成したのは、moduleが出てくる以前だったので
確認していませんでした。
モジュールについては、過去にLoad/Unloadで問題がでていたり
過去のバージョンではメモリーリークが発生していたようです。
たとえば以下のフォーラムなど。
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=807&forum=2&post_id=3185
またAddEventListenerをしているなどでオブジェクトの参照が残って
Unloadされない現象といったこともあるようです。
メモリに残っているというのを確認したのは、
Profilerで確認したということでよろしいでしょうか。
正しくUnloadされたものは、どんな形で試されたか、
EventListenerの処理をしているなど教えていただけますと
助かります。
以上よろしくお願いいたします。
--
2008/10/14 20:34 有井 貴志 <[E-MAIL ADDRESS DELETED]>:
> お世話になります。有井と申します。
>
> S2Flexを用いたModuleをModuleLoaderでロード・アンロードすると
> 何故かメモリが残ったままになってしまいます。
> S2Flexを使用していないModuleではメモリ解放が確認できました。
>
> 自分のソースが悪いのかどうなのかも分からず困っております。
>
> お忙しい所、お手数お掛けしてしまい本当に申し訳ございませんが
> 何が問題なのかご教示頂けませんでしょうか?
>
> 環境
> ・flexSDK Flex 3.1
> ・s2flex2-components.swc
> ・s2-flex2-1.1.1-rc1
> ・s2-framework-2.4.29
> ・JDK6
> ・Tomcat5.0.28
>
> 以下ソースです
> -Main.mxml-----------------------------------------
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
> layout="vertical">
>
> <mx:ApplicationControlBar width="100%">
> <mx:Button label="load" click="load()"/>
> <mx:Button label="unload" click="unload()"/>
> </mx:ApplicationControlBar>
>
> <mx:ModuleLoader id="mloader"
> width="100%" height="100%"/>
>
> <mx:Script>
> <![CDATA[
> private function load(): void
> {
> mloader.url = "S2FlexSample1.swf";
> mloader.loadModule();
> }
> private function unload(): void
> {
> mloader.unloadModule();
> }
> ]]>
> </mx:Script>
> </mx:Application>
> --------------------------------------------------
>
> -S2FlexSample.mxml--------------------------------
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Module
> xmlns:mx="http://www.adobe.com/2006/mxml"
> xmlns:s2flex="memory.web.s2flex.*"
> width="100%" height="100%">
> <s2flex:Sample1/>
> </mx:Module>
> --------------------------------------------------
>
> memory.web.s2flexパッケージ
> -Sample1.mxml-------------------------------------
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Panel
> xmlns:mx="http://www.adobe.com/2006/mxml"
> xmlns:seasar="http://www.seasar.org/s2flex2/mxml"
> xmlns:s2flex="memory.web.s2flex.*"
> width="100%" height="100%">
> <seasar:S2Flex2Service id="service"
> destination="sampleService" showBusyCursor="true"/>
> <s2flex:Sample1Page id="page"/>
> <mx:Image source="image/dummy.jpg"/>
> </mx:Panel>
> --------------------------------------------------
>
> -Sample1Page.as-----------------------------------
> package memory.web.s2flex {
> import flash.events.Event;
> import mx.controls.Alert;
> import mx.rpc.events.FaultEvent;
> import mx.rpc.events.ResultEvent;
> import memory.web.AbstractPage;
>
> [Bindable]
> public class Sample1Page extends AbstractPage {
>
> override public function onCreationComplete(event: Event): void {
> super.onCreationComplete(event);
> getMessage();
> }
>
> public function getMessage():void {
> remoteCall(service.getMessage(),
> getMessageOnSuccess,
> getMessageOnFault);
> }
>
> public function getMessageOnSuccess(e:ResultEvent
> ,token:Object=null):void {
> Alert.show(e.result as String);
> }
>
> public function getMessageOnFault(e:FaultEvent
> ,token:Object=null):void {
> Alert.show(e.message as String);
> }
> }
> }
> --------------------------------------------------
>
> Java
> -SampleService.java-------------------------------
> package memory.web;
>
> public interface SampleService {
> public String getMessage();
> }
> --------------------------------------------------
>
> -SampleServiceImpl.java---------------------------
> package memory.web.impl;
>
> import org.seasar.flex2.rpc.remoting.service.annotation.RemotingService;
> import memory.web.SampleService;
>
> @RemotingService
> public class SampleServiceImpl implements SampleService {
> public SampleServiceImpl() {
> }
>
> public String getMessage(){
> return "Server Message";
> }
> }
> --------------------------------------------------
>
> 長々とソースを貼ってしまい申し訳ありません。
> 何卒、よろしくお願い致します。
>
> _______________________________________________
> akabana-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/akabana-user
>
akabana-user メーリングリストの案内