Używam obiektu handler
do kontynuowania pracy interfejsu użytkownika po zakończeniu czasochłonnego zadania w osobnym wątku. Miałem problem z powyższym ostrzeżeniem Linta i podążaniem za moim podejściem.Android Threading: Ta klasa programu Handler powinna być statyczna lub mogą wystąpić przecieki
[Próbka Handler Obiekt 1] ->
Handler responseHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
super.handleMessage(msg);
Toast.makeText(MainActivity.this, "Finished the long running task in seperate thread...", Toast.LENGTH_LONG).show();
}
};
[Próbka Handler Obiekt 2] ->
Handler responseHandler = new Handler(new Handler.Callback()
{
@Override
public boolean handleMessage(Message msg)
{
Toast.makeText(MainActivity.this, "Finished long running task in a seperate thread...", Toast.LENGTH_LONG).show();
return false; // RETURN VALUE ????
}
});
W oddzielnym wątek (inny niż interfejs użytkownika) wh Aby wykonać czasochłonne zadanie, wykonuje on następującą linię, aby przywrócić kontrolę do wątku interfejsu użytkownika (w zasadzie do obsługi obiektu).
responseHandler.sendEmptyMessage(0);
Program działa bardzo dobrze z obu typów obiektów procedur obsługi, ale z 1 typu I otrzymuję ostrzeżenie Lint mówiąc klasa ta Handler powinny być statyczne lub przecieki mogą wystąpić.
Dlatego zacząłem używać drugiego rodzaju obiektu obsługi, aby uniknąć ostrzeżenia o Lintach, ale problem, który mam, to, nie jestem pewien co do znaczenia wartości zwracanej (prawda/fałsz) w 2 sposób i również działa z jednym z nich. Szukałem tego w Google na tyle, ale nie dostałem dokładnej odpowiedzi wyjaśnił tę wartość zwrotu.
Tak, widziałem to pytanie zadawano w wielu miejscach w stackoverflow głównie regrding ostrzeżenie Lint, ale moje pytanie dotyczy głównie typu zwrotu w 2 sposób i aby go potwierdzić, czy jest to w porządku sposób rozwiązać problem używając drugiego rodzaju obsługi Obj.
pytania ->
1). Czy ktoś wie, co to jest za wartość (prawda/fałsz)?
2). Czy to jest właściwa rzecz, którą zrobiłem, aby pozbyć się ostrzeżenia o lintach?
Dzięki ...
Tak, sprawdź załączony wpis. –
Widziałem te linki, a moje pytanie dotyczy głównie wartości zwrotu, w której nie znalazłem wyjaśnienia. – JibW
http://stackoverflow.com/questions/17899328/this-handler-class-should-be-static-lub-leaks-might-occur-com-test-test3-ui-main/17899429#17899429. sprawdź to i to https://groups.google.com/forum/#!topic/android-developers/1aPZXZG6kWk. sprawdź dyskusję na temat i rozwiązanie przez Romaina. – Raghunandan