2015-12-22 4 views
0

Я делаю приложение, и это было почти сделано. Пока приложение не замерзает, из-за утечки памяти или чего-то еще. Кто-нибудь имеет право на это? О да, это произошло после добавления таймера обратного отсчета. Вот некоторые из моего кода: 'Утечка памяти приложения Android

while(methodCounter<1){ new CountDownTimer(60000, 1000) { 
//methodcounter is the amount of times the method is called 
       public void onTick(long millisUntilFinished) { 
        Timer.setText("seconds remaining: " + millisUntilFinished/1000); 
       } 

       public void onFinish() { 
        startActivity(new Intent(MainActivity.this, AlertDialogClass.class)); 
       } 

      }.start(); 
      }` 

А вот некоторые из моей LogCat:

12-22 11:31:03.096 7109-7109/com.liammertensbe.com.typefaster D/dalvikvm: GC_FOR_ALLOC freed 3040K (77707), 39% free 4952K/8048K, paused 27ms, total 28ms 
12-22 11:31:03.444 7109-7109/com.liammertensbe.com.typefaster D/dalvikvm: GC_FOR_ALLOC freed 3040K (77707), 39% free 4952K/8048K, paused 28ms, total 28ms 
12-22 11:31:03.791 7109-7109/com.liammertensbe.com.typefaster D/dalvikvm: GC_FOR_ALLOC freed 3040K (77705), 39% free 4952K/8048K, paused 27ms, total 27ms 
12-22 11:31:04.140 7109-7109/com.liammertensbe.com.typefaster D/dalvikvm: GC_FOR_ALLOC freed 3040K (77707), 39% free 4952K/8048K, paused 27ms, total 27ms 
+0

Где вы обучаете? – Carlo

+0

В методе check() –

+0

, где находится чек(), вызываемый? – Sandeep

ответ

0

Вашего код показывает, что вы не пытаетесь уменьшаете methodCounter переменными. Таким образом, цикл становится бесконечным. И поэтому ваше приложение замерзает.

Кроме того, вы должны также написать код в try и catch block and handle OutOfMemoryError.

+0

Спасибо за ответ, но я только что решил свою проблему, я удалил цикл и вместо этого использовал логическое значение, чтобы проверить, был ли этот метод уже вызван, но опять же, спасибо за ваш ответ. –

Смежные вопросы