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