我正在使用andengine開發一款針對android平臺的遊戲。 和我用來定期檢查應用程序的內存使用情況。Andengine - 使用TexturePacker Spritesheet增加內存使用量
這是內存使用量使用spritesheets
前後來我才知道有關SpriteSheet和Andengine的TexturePackerExtension
我想在我的應用程序使用它。我創建了一張包含整個遊戲需要的所有圖像的spritesheet。
而當我加載它時,我得到的堆比前一個增加。使用SpriteSheet後
我是假設堆會降低。
出了什麼問題?
我應該如何使用SPriteSheet和TexturePackers管理內存。
軟件使用:
- CodeANdWeb.com
- AndEngine GLES2
- Andengine-TexturePackerExtension的TexturePacker。
[編輯] [解決]
總堆並不似乎是一個更大的問題。 我終於設法控制了整個堆內存。
我簡單地創建了2個spritesheets 1用於實際的遊戲資源,另一個用於菜單資源。我只加載當前需要的spritesheet。在加載另一個spritesheet之前,我用來卸載以前的spritesheet等..
我希望這是一個正確的做法。
創建2個spritesheets我的堆內存永不熄滅avobe大約18 MB後:d
這是否意味着如果分配的堆幾乎相同,我不必擔心總堆問題?我發現我的遊戲在像三星Galaxy Ace,三星Galaxy Y這樣的設備上崩潰。可能是大堆內存? –
是的,這些設備在便宜的一端,可能有最少的堆。通過使用[PVR(CCZ/GZ)](https://github.com/nicolasgramlich/AndEngine/blob/GLES2-AnchorCenter/src/org/andengine/opengl/texture/compressed/pvr/PVRTexture。JAVA)壓縮的紋理(而不是PNG,這你可能正在使用),您可以使用此[PixelBufferStrategy](https://github.com/nicolasgramlich/AndEngine/blob/GLES2-AnchorCenter/src/org/andengine/opengl /texture/compressed/pvr/pixelbufferstrategy/SmartPVRTexturePixelBufferStrategy.java),它可以限制最大分配加載紋理時。 –