[英]I am writing an Android app in java with what I believe to be a memory leak and don't know how to fix it
我正在為有幾個紙牌游戲的學校項目編寫Java應用程序。 我正在編寫第一個游戲,並且已經為我計划做的所有游戲實現了框架。 我有一個稱為Deck的類,該類控制所有卡片組邏輯,並在arrayList中使用52個卡片對象創建一個卡片組。 每當我創建卡片組時,程序都會停止並且不響應。 據我在網上看到的消息,它表明我創建了太多對象,該程序嘗試清理它們或其他東西。 我對Java相當陌生,對於如何解決此問題也很困惑。 這是createDeck()方法和生成的LogCat輸出。 任何幫助或智慧,我們將不勝感激。 提前致謝!
public void createDeck()
{
for (int i = 1; i <= 13; i++)
{
for (int j = 0; j < 4; i++)
{
if (j == 0) //If diamond suite
{
Card newCard = new Card(i, j);
cardDeck.add(newCard);
}
if (j == 1) //If hearts suite
{
Card newCard = new Card(i, j);
cardDeck.add(newCard);
}
if (j == 2) //If clover suite
{
Card newCard = new Card(i, j);
cardDeck.add(newCard);
}
if (j == 3) //If spade suite
{
Card newCard = new Card(i, j);
cardDeck.add(newCard);
}
}
}
}
LogCat輸出
WAIT_FOR_CONCURRENT_GC blocked 61ms
GC_CONCURRENT freed 153K, 7% free 3755K/4024K, paused 69ms+25ms total 213ms
一個小錯誤:
在第二個for
循環更改中:
for (int j = 0; j < 4; i++)
至:
for (int j = 0; j < 4; j++)
順便說一句,通過使用調試器或打印來記錄日志-您很快就會找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.