c를 주로 했는데 자바로 안드로이드 개발하려니 막히는게 한두가지가 아니네요.

질문 1.
Spinner를 사용하는데 이 내용을 동적으로 바꿔줘야할 일이 있어서요
결국은 어댑터를 새로 만들어주는 방법이 있는것 같은데

ArrayAdapter<CharSequence> adspin;
adspin = new ArrayAdapter<String>(Book.this, android.R.layout.simple_spinner_item, alList);
최초에 이런식으로 만들고

나중에 다시

adspin = new ArrayAdapter<String>(Book.this, android.R.layout.simple_spinner_item, alAnotherList);

형식으로 다시 생성하여 할당하면 변경돼서 동작은 하는데
문제는 이렇게 한 변수에 new로 또 생성했을 경우 GC가 동작하나요 아니면 자동으로 이전 변수에 대해 delete가 이루어지나요?
c처럼 명시적으로 delete가 있으면 차라리 좋겠는데 도무지 알수가 없네요.
아니면

adspin.clear()
adspin = null;
정도로만 해도 GC가 해제해 주는걸까요...

질문 2.
메모리 릭이 있는지 체크하는 방법이 있나요?