처음에 앱 델리게이트에서 소스
KDbool CCAppDelegate::applicationDidFinishLaunching ( KDvoid )
{
CCDirector* director = CCDirector::sharedDirector ( );
director->reshapeProjection ( CGSize ( 1024, 600 ) );
CCScene* scene = CCScene::node ( );
CCLayer* layer = new MainLayer ( FRIEND_MAP );
layer->autorelease ( );
scene->addChild ( layer );
director->runWithScene ( scene );
return KD_TRUE;
}
그 다음에는 MainLayer
MainLayer::MainLayer ( KDint id )
{
switch ( id )
{ //PlaceLayer와 FirendLayer는 쌍둥이처럼 소스가 같다.
case 0 : m_layer = new FriendLayer ( ); break;
case 1 : m_layer = new PlaceLayer ( ); break;
default : m_layer = KD_NULL;
}
m_layer->autorelease ( );
m_layer->setPosition ( ccp ( 0, 0));
this->addChild ( m_layer );
CCLayer* b_layer = new BannerLayer ( );
b_layer->autorelease ( );
b_layer->setPosition ( ccp ( 0, 0));
this->addChild ( b_layer );
CGSize s = CCDirector::sharedDirector ( )->getWinSize ( );
};
그 다음에는 BannerLayer의 new 할당 부분인데요.
BannerLayer:: BannerLayer ( KDvoid )
{
....... 생략
CCMenuItemSprite* place_btn = CCMenuItemSprite::itemFromNormalSprite
(
CCSprite::spriteWithFile ( "image/menu_place.png", CGRectMake ( 0, 0, 97, 28 ) ),
CCSprite::spriteWithFile ( "image/menu_place.png", CGRectMake ( 97, 0, 97, 28 ) ),
this,
menu_selector ( BannerLayer::TransitionPlaceScene )
);
CCMenuItemSprite* friend_btn = CCMenuItemSprite::itemFromNormalSprite
(
CCSprite::spriteWithFile ( "image/menu_friend.png", CGRectMake ( 0, 0, 103, 28 ) ),
CCSprite::spriteWithFile ( "image/menu_friend.png", CGRectMake ( 103, 0, 103, 28 ) ),
this,
menu_selector ( BannerLayer::TransitionFriendScene )
);
..... 생략
}
KDvoid BannerLayer::TransitionPlaceScene ( NSObject* pSender )
{
CCScene* scene = CCScene::node ( );
CCLayer* layer = new MainLayer ( PLACE_MAP );
layer->autorelease ( );
scene->addChild ( layer );
CCScene* t_scene = CCTransitionFlipX::transitionWithDuration ( 0.5f, scene );
CCDirector::sharedDirector ( )->replaceScene ( t_scene );
};
KDvoid BannerLayer::TransitionFriendScene ( NSObject* pSender )
{
CCScene* scene = CCScene::node ( );
CCLayer* layer = new MainLayer ( FRIEND_MAP );
layer->autorelease ( );
scene->addChild ( layer );
CCScene* t_scene = CCTransitionFlipX::transitionWithDuration ( 0.5f, scene );
CCDirector::sharedDirector ( )->replaceScene ( t_scene );
}
autorelease의 시점을 MainLayer가 해제되는 시점으로 일원화 시켜줬더니 메모리 릭이 사라집니다.
하지만 다음과 같이 MainLayer_1, MainLayer_2라는 쌍둥이 레이어를 생성하고 나눠서 이벤트를 발생시킨다면 메모리 릭이 발생하게 되네요.
KDvoid BannerLayer::TransitionPlaceScene ( NSObject* pSender )
{
CCScene* scene = CCScene::node ( );
CCLayer* layer = new MainLayer___1 ( PLACE_MAP );
이하 동문
};
KDvoid BannerLayer::TransitionFriendScene ( NSObject* pSender )
{
CCScene* scene = CCScene::node ( );
CCLayer* layer = new MainLayer____2 ( FRIEND_MAP );
이하 동문
}
Coach Handbags
having eaten his soupcheap burberry handbags
into the small chamberwholesale designer purses
beneath the roof and facingcoach outlet online
overcome with fatiguecoach outlet coach
was dazed for a momentcheap designer bags
so heavy that he rosecheap designer purses
with the idea of gettingfurla handbags
fresh air before havinggucci handbags
approach of which one feelsgucci wallet
on in great mists whichhermes handbags
the low sky seemed tojimmy choo handbags
of wind now to animatecheap juicy couture handbags
walked straight aheadjuicy couture wallet
already growing gloomy atcheap louis vuitton bags
lantern yet shining fromcheap louis vuitton wallet
to watch the departuremk purses
going away in bandsmk wallet
abusing him becauseprada handbags
quarrel with an overseer overprada wallet
of these beasts who devourroberto cavalli handbags
enough for them toCoach purse
with her eagle nosecoach purses
young people behindcheap handbags purses
who was waiting therecheap handbags and purses
will have something tooutlet coach online
coming out of the screeningcoach online outlet
also coming outcheap coach purses
son taking the main roadcoach purses outlet
spite of her resistance intocheap purses and handbags
wrangled like old housematescheap purses handbags
are no wheatfields topurses and handbags cheap
had reduced his familycheap gucci bags
us if it will amuse youpurses handbags wholesale
getting on at the housewholesale purses handbags
to whom he had promisedwholesale handbags purses
every evening like the fowlshandbags purses wholesale
the thread and drew outhandbags and purses wholesale
franc pieces from cornercheap louis vuitton handbags
profit of the overtimewholesale purses and handbags
your mother decide tochina handbags
for every mouthfulchina purses
spoke with the soft voiceprada bags
it was a sacred promisepurses from china
had got the three piecesbags from china
things to an extreme incoach bags
the winter chamberlouis vuitton outlet
it would not give her anylouis vuitton bags
to the settlement alonelouis vuitton belts
to rejoin his companionlouis vuitton store
without understandingLouis Vuitton Damier bags
for behind the factorieshandbags louis vuitton
hollow into which some largelouis vuitton sunglasses
of you if you want morelouis vuitton louis vuitton handbags
roamed about in the meadowslouis vuitton wallets
and instead of going back tooutlet louis vuitton
and offer the dandelionslouis vuitton handbags
enough to know thatlouis vuitton purses bags
the ardour of businesslouis vuitton men bags
were dividing the profitslouis vuitton monogram bags
credulity which always madelouis vuitton bags handbag
all that money excitedpurses louis vuitton
at your house that youcheap louis vuitton
divide eleven sous intolouis vuitton purses
experienced the fear andlouis vuitton sale
advanced her hand withbags louis vuitton
how to hide them fromlouis vuitton louis vuitton purses
together the love whichlouis vuitton bags purses
games of vicious puppieslouis vuitton wallet
delicious trembling of instinctlouis vuitton bag
received a cuffing whenever http://www.ask.com http://www.yahoo.com http://www.bing.com http://www.google.com http://www.aol.com