剛剛學(xué)到框架這里,我現(xiàn)在自己正在做2048小游戲,想用框架來制作游戲撤銷這一操作,大致思路是這樣:每操作一次,將當(dāng)前的值放入到集合中“0”的位置,進(jìn)行撤銷操作時(shí),將“0”位置復(fù)制過去,并刪除。我想問的是,每操作一次,就存儲(chǔ)一次,雖然一次所占內(nèi)存不大,但是多了的話會(huì)不會(huì)出問題?對(duì)內(nèi)存不了解。還有就是游戲結(jié)束了,占用的內(nèi)存是自動(dòng)釋放?還是需要添加什么東西手動(dòng)釋放?
1 回答
已采納

習(xí)慣受傷
TA貢獻(xiàn)885條經(jīng)驗(yàn) 獲得超1144個(gè)贊
撤銷操作可以使用JAVA?Stack 類來實(shí)現(xiàn),當(dāng)然不是無限制的入棧,限制一個(gè)撤銷操作次數(shù),比如最大10次撤銷操作,這樣就不會(huì)有太多的內(nèi)存占用了。游戲結(jié)束了,如果是靜態(tài)變量之類的還是要手動(dòng)釋放一下,否則系統(tǒng)會(huì)自動(dòng)釋放,如果不放心,你還可以調(diào)用GC,強(qiáng)制回收。比如靜態(tài)變量:
static?Game?gameInstance?=?Game.newInstance();
添加一個(gè)釋放方法,如在Game類中:
static?Game?_instance?=?null; public?void?destory() { ????_instance?=?null; ????//其他釋放操作 }
這樣的靜態(tài)變量,程序結(jié)束時(shí),調(diào)用:
gameInstance.destory();
添加回答
舉報(bào)
0/150
提交
取消