This whole memory leak thing seems very complicated to me. A lot of great info here, but I cannot quite understand it. Even after reading Creating a memory leak with Java, I am still lost! Can someone point out to me where the memory leak is in this code, please? (It happens when this method is run repeatedly.) Thank you very much!
08-11 23:02:07.487: I/ViewRootImpl(969): Reporting drop result: true
08-11 23:02:07.987: D/dalvikvm(969): GC_FOR_ALLOC freed 1769K, 18% free 10101K/12180K, paused 13ms, total 13ms
08-11 23:02:08.057: D/dalvikvm(969): GC_CONCURRENT freed 4K, 11% free 10915K/12180K, paused 3ms+5ms, total 30ms
08-11 23:02:08.057: D/dalvikvm(969): WAIT_FOR_CONCURRENT_GC blocked 1ms
08-11 23:02:14.757: I/dalvikvm(969): threadid=3: reacting to signal 3
08-11 23:02:14.767: I/dalvikvm(969): Wrote stack traces to '/data/anr/traces.txt'
public void deal(View v) {
    // call and play
    if (dealt) {
        if (anteBet == playBet) {
            // hand plays
            dealt = false;
            deal.setImageResource(R.drawable.deal);
            fold.setImageResource(R.drawable.clear);
            dealersCards.clear();
            dealersCards.add(d1);
            dealersCards.add(d2);
            dealersCards.add(d3);
            displayCards(dealersCards);
            if (getHand(pc1, pc2, pc3) > getHand(dc1, dc2, dc3)
                    && getHand(dc1, dc2, dc3) >= 1120000) {
                award = true;
                ante(anteBet);
                award = true;
                play(playBet);
            } else if (getHand(dc1, dc2, dc3) < 1120000) {
                award = true;
                ante(anteBet);
            }
            else {
                if (!(getHand(pc1, pc2, pc3) == getHand(dc1, dc2, dc3))) {
                    award = true;
                    ante(-anteBet);
                    award = true;
                    play(-playBet);
                }
            }
            antePlusPayout();
            pairPlusPayout();
        } else {
            play(anteBet - playBet);
        }
        // deal cards
    } else if (anteBet > 0) {
        deal.setImageResource(R.drawable.call);
        fold.setImageResource(R.drawable.fold);
        displayCards(display);
        d1.setImageResource(R.drawable.facedown);
        d2.setImageResource(R.drawable.facedown);
        d3.setImageResource(R.drawable.facedown);
        dealt = true;
        deal.setImageResource(R.drawable.call);
    }
}
public void displayCards(List<ImageView> disp) {
    int cardNumber = 0;
    for (ImageView c : disp) {
        cardNumber++;
        Card tempCard;
        do {
            tempCard = deck.get(rand(52));
        } while (cardsInPlay.contains(tempCard));
        cardsInPlay.add(tempCard);
        rank = tempCard.getRank();
        suit = tempCard.getSuit();
        if (cardNumber == 1) {
            dc1 = tempCard;
        } else if (cardNumber == 2) {
            dc2 = tempCard;
        } else if (cardNumber == 3) {
            dc3 = tempCard;
        } else if (cardNumber == 4) {
            pc1 = tempCard;
        } else if (cardNumber == 5) {
            pc2 = tempCard;
        } else {
            pc3 = tempCard;
        }
        if (rank == 2 && suit == 'c') {
            c.setImageResource(R.drawable.clubs2);
        } else if (rank == 3 && suit == 'c') {
            c.setImageResource(R.drawable.clubs3);
        } else if (rank == 4 && suit == 'c') {
            c.setImageResource(R.drawable.clubs4);
        } else if (rank == 5 && suit == 'c') {
            c.setImageResource(R.drawable.clubs5);
        } else if (rank == 6 && suit == 'c') {
            c.setImageResource(R.drawable.clubs6);
        } else if (rank == 7 && suit == 'c') {
            c.setImageResource(R.drawable.clubs7);
        } else if (rank == 8 && suit == 'c') {
            c.setImageResource(R.drawable.clubs8);
        } else if (rank == 9 && suit == 'c') {
            c.setImageResource(R.drawable.clubs9);
        } else if (rank == 10 && suit == 'c') {
            c.setImageResource(R.drawable.clubs10);
        } else if (rank == 11 && suit == 'c') {
            c.setImageResource(R.drawable.clubsj);
        } else if (rank == 12 && suit == 'c') {
            c.setImageResource(R.drawable.clubsq);
        } else if (rank == 13 && suit == 'c') {
            c.setImageResource(R.drawable.clubsk);
        } else if (rank == 14 && suit == 'c') {
            c.setImageResource(R.drawable.clubsa);
        }
        else if (rank == 2 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds2);
        } else if (rank == 3 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds3);
        } else if (rank == 4 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds4);
        } else if (rank == 5 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds5);
        } else if (rank == 6 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds6);
        } else if (rank == 7 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds7);
        } else if (rank == 8 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds8);
        } else if (rank == 9 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds9);
        } else if (rank == 10 && suit == 'd') {
            c.setImageResource(R.drawable.diamonds10);
        } else if (rank == 11 && suit == 'd') {
            c.setImageResource(R.drawable.diamondsj);
        } else if (rank == 12 && suit == 'd') {
            c.setImageResource(R.drawable.diamondsq);
        } else if (rank == 13 && suit == 'd') {
            c.setImageResource(R.drawable.diamondsk);
        } else if (rank == 14 && suit == 'd') {
            c.setImageResource(R.drawable.diamondsa);
        }
        else if (rank == 2 && suit == 'h') {
            c.setImageResource(R.drawable.hearts2);
        } else if (rank == 3 && suit == 'h') {
            c.setImageResource(R.drawable.hearts3);
        } else if (rank == 4 && suit == 'h') {
            c.setImageResource(R.drawable.hearts4);
        } else if (rank == 5 && suit == 'h') {
            c.setImageResource(R.drawable.hearts5);
        } else if (rank == 6 && suit == 'h') {
            c.setImageResource(R.drawable.hearts6);
        } else if (rank == 7 && suit == 'h') {
            c.setImageResource(R.drawable.hearts7);
        } else if (rank == 8 && suit == 'h') {
            c.setImageResource(R.drawable.hearts8);
        } else if (rank == 9 && suit == 'h') {
            c.setImageResource(R.drawable.hearts9);
        } else if (rank == 10 && suit == 'h') {
            c.setImageResource(R.drawable.hearts10);
        } else if (rank == 11 && suit == 'h') {
            c.setImageResource(R.drawable.heartsj);
        } else if (rank == 12 && suit == 'h') {
            c.setImageResource(R.drawable.heartsq);
        } else if (rank == 13 && suit == 'h') {
            c.setImageResource(R.drawable.heartsk);
        } else if (rank == 14 && suit == 'h') {
            c.setImageResource(R.drawable.heartsa);
        }
        else if (rank == 2 && suit == 's') {
            c.setImageResource(R.drawable.spades2);
        } else if (rank == 3 && suit == 's') {
            c.setImageResource(R.drawable.spades3);
        } else if (rank == 4 && suit == 's') {
            c.setImageResource(R.drawable.spades4);
        } else if (rank == 5 && suit == 's') {
            c.setImageResource(R.drawable.spades5);
        } else if (rank == 6 && suit == 's') {
            c.setImageResource(R.drawable.spades6);
        } else if (rank == 7 && suit == 's') {
            c.setImageResource(R.drawable.spades7);
        } else if (rank == 8 && suit == 's') {
            c.setImageResource(R.drawable.spades8);
        } else if (rank == 9 && suit == 's') {
            c.setImageResource(R.drawable.spades9);
        } else if (rank == 10 && suit == 's') {
            c.setImageResource(R.drawable.spades10);
        } else if (rank == 11 && suit == 's') {
            c.setImageResource(R.drawable.spadesj);
        } else if (rank == 12 && suit == 's') {
            c.setImageResource(R.drawable.spadesq);
        } else if (rank == 13 && suit == 's') {
            c.setImageResource(R.drawable.spadesk);
        } else if (rank == 14 && suit == 's') {
            c.setImageResource(R.drawable.spadesa);
        }
    }
}
 
     
     
     
    