簡體   English   中英

我正在用Java編寫一個Android應用程序,我認為這是內存泄漏,並且不知道如何解決它

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM