Note that there are some explanatory texts on larger screens.

plurals
  1. POMemory Leak with Single Method
    primarykey
    data
    text
    <p>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 <a href="https://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java">Creating a memory leak with Java</a>, 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!</p> <pre><code>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' </code></pre> <hr> <pre><code>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) &gt; getHand(dc1, dc2, dc3) &amp;&amp; getHand(dc1, dc2, dc3) &gt;= 1120000) { award = true; ante(anteBet); award = true; play(playBet); } else if (getHand(dc1, dc2, dc3) &lt; 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 &gt; 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); } } </code></pre> <hr> <pre><code>public void displayCards(List&lt;ImageView&gt; 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 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs2); } else if (rank == 3 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs3); } else if (rank == 4 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs4); } else if (rank == 5 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs5); } else if (rank == 6 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs6); } else if (rank == 7 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs7); } else if (rank == 8 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs8); } else if (rank == 9 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs9); } else if (rank == 10 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubs10); } else if (rank == 11 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubsj); } else if (rank == 12 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubsq); } else if (rank == 13 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubsk); } else if (rank == 14 &amp;&amp; suit == 'c') { c.setImageResource(R.drawable.clubsa); } else if (rank == 2 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds2); } else if (rank == 3 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds3); } else if (rank == 4 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds4); } else if (rank == 5 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds5); } else if (rank == 6 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds6); } else if (rank == 7 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds7); } else if (rank == 8 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds8); } else if (rank == 9 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds9); } else if (rank == 10 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamonds10); } else if (rank == 11 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamondsj); } else if (rank == 12 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamondsq); } else if (rank == 13 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamondsk); } else if (rank == 14 &amp;&amp; suit == 'd') { c.setImageResource(R.drawable.diamondsa); } else if (rank == 2 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts2); } else if (rank == 3 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts3); } else if (rank == 4 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts4); } else if (rank == 5 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts5); } else if (rank == 6 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts6); } else if (rank == 7 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts7); } else if (rank == 8 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts8); } else if (rank == 9 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts9); } else if (rank == 10 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.hearts10); } else if (rank == 11 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.heartsj); } else if (rank == 12 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.heartsq); } else if (rank == 13 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.heartsk); } else if (rank == 14 &amp;&amp; suit == 'h') { c.setImageResource(R.drawable.heartsa); } else if (rank == 2 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades2); } else if (rank == 3 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades3); } else if (rank == 4 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades4); } else if (rank == 5 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades5); } else if (rank == 6 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades6); } else if (rank == 7 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades7); } else if (rank == 8 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades8); } else if (rank == 9 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades9); } else if (rank == 10 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spades10); } else if (rank == 11 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spadesj); } else if (rank == 12 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spadesq); } else if (rank == 13 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spadesk); } else if (rank == 14 &amp;&amp; suit == 's') { c.setImageResource(R.drawable.spadesa); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload