cocos2d垃圾回收機制,add/removeChild()函數



       垃圾回收機制
?collectgarbage("collect"):運行一個完整的垃圾回收週期。
?collectgarbage("count"):返回當前程序使用的內存總量,以 KB 爲單位。
?collectgarbage("restart"):如果垃圾回收器停止,則重新運行它。
?collectgarbage("step"):進行一次垃圾回收迭代。第二個參數值越大,一次迭代的時間越長;如果本次迭代是垃圾回收的最後一次迭代則此函數返回 true。
?collectgarbage("stop"):停止垃圾收集器運行。

?collectgarbage("setpause"):設置垃圾收集暫停時間變量的值,值由第二個參數指出(第二參數的值除以 100 後賦予變量)
該數值被用於控制垃圾收集器被 Lua 自動內存管理再次運行之前需要的等待時長。當其小於 100 時意味着收集器在新週期開始前不再等待。其值越大垃圾回收器被運行的頻率越低,越不主動。當其值 200 時,收集器在總使用內存數量達到上次垃圾收集時的兩倍時再開啓新的收集週期。因此,根據程序不同的特徵,可以通過修改該值使得程序達到最佳的性能。

?collectgarbage("setsetmul"):設置垃圾收集器步長倍增器的值,
步長倍增器用於控制了垃圾收集器相對內存分配的速度。數值越大收集器工作越主動,但同時也增加了垃圾收集每次迭代步長的大小。值小於 100 可能會導致垃圾器一個週期永遠不能結束,建議不要這麼設置。默認值爲 200,表示垃圾收集器運行的速率是內存分配的兩倍。


 2.緩存類:紋理緩存(TextureCache)、精靈幀緩存(SpriteFrameCache)、動畫緩存(AnimationCache)
 、着色器緩存(ShaderCache)


3.分辨率策略:cc.ResolutionPolicy.EXACT_FIT(精確配合)、cc.ResolutionPolicy.NO_BORDER(無邊策略)、cc.ResolutionPolicy.SHOW_ALL(全顯示策略)、cc.ResolutionPolicy.FIXED_HEIGHT(固定高度)、cc.ResolutionPolicy.FIXED_WIDTH(固定寬度)



addChild()函數有三個參數:

1、要加入場景的對象的指針,(可以是CCSprite*,CCLayer*,CCNode*等類型)

2、繪製層的順序,默認參數值爲0,表示最高優先層導入,該值越大表示該層在最後加載(在最高一層),一般背景圖層是首先加載,其他元素在加載在背景層上面。因爲背景在後面加載的話,會覆蓋掉前面加載的元素,看不到想要的圖層組合效果。

3、Tag標記。賦予類的某個方法中定義的局部變量(CCNode*類型對象,CCSprite*對象等)一個標記號tag,如果以後在該類的其他方法中要訪問這個變量時可以通過調用函數 getChildByTag來取回該對象,從而方便使用這個對象進行想要的操作。這樣做的好處是:定義成類的成員變量會一直佔用內存資源,而局部變量的生命週期比成員變量短,節省系統資源,而且在外面就可以通過函數getChildByTagtag號來獲取這個對象。
virtual void addchild( Node * child , int localZOrder , int tag )添加一個子節點到容器中,有Z軸順序和一個標記。

1.如果子節點被添加到了一個“running(活動着的)”節點,那麼'onEnter'和 'onEnterTransitionDidFinish' 將會立即調用。

addChild:是指要添加的子成員(Node *類型,可移式Sprite, Layer等等);

z:是指添加的ZOrder值,ZOrder是指該成員的層級(也可以說深度),z值大的成員在z值小的成員的上面,上面的會覆蓋下面的,0的話就是最低的層級,層級一樣的話根據誰後繪製的就覆蓋先繪製的。層級不同的時候,還是可以進行物理碰撞。

tag:是指該成員的tag值,tag值是一個成員的標識,如果丟掉了這個變量,可以通過getChildByTag(tag)把這個成員找到。


removeChild方法的參數的解析
virtual void removeChild ( Node * child , bool cleanup )從容器中刪除一個孩子,取決於cleanup參數,同時可能會清除所有的活動的動作。
child 希望被刪除的子節點。
cleanup 爲true 表示在這個節點上所有的動作和回調都會被刪除, false 就不會刪除。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章