ViewFlipper
을 으로 레이아웃 리소스에서 Footer
으로 추가 중입니다. 내가 사용하여 내 ListView에에 추가Activity가 누출되었습니다. IntentReceiver android.widget.ViewFlipper
<?xml version="1.0" encoding="utf-8"?>
<ViewFlipper ...>
<Button
/>
<LinearLayout
... >
<ProgressBar
... />
<TextView
... />
</LinearLayout>
</ViewFlipper>
: 여기 (자세한 사항은 간결함을 위해 생략) 내 플리퍼 레이아웃의
내 활동이 내가 호출 스택 다음에 다음과 같은 메시지를 볼 파괴mListView.addFooterView(mLoadMoreFlipper);
, 로그 캣에서 :
Activity com.gk.ItemListActivity has leaked IntentReceiver [email protected]
that was originally registered here. Are you missing a call to unregisterReceiver()?
좀 주위를 파고했고, 내가 어떤을 등록하지 않은 것을 제외하고 메시지, 수신기 등록을 해제하지 관련이 발견. 이상하게도이 메시지는 바닥 글 ViewFlipper
이 파괴되기 전에 뒤로 버튼을 사용하여 ListView
에서 제거 된 경우에만 나타납니다. 나는 WeakReference
ViewFlipper
받는 사람을 사용하여 시도했지만 한
mListView.removeFooterView(mLoadMoreFlipper);
그 도움이되지 않습니다 : 나는 더 이상 사용하여 필요하지 않을 때 나는 바닥 글을 분리합니다. 또한 null
에 대한 mLoadMoreFlipper
참조 설정을 시도했지만 도움이되지 않습니다.
이전에이 문제가 발생 했습니까? 이것은 에 대한 참조를 보유하고있는 나의 활동과 관련이있는 것 같습니다. 그러나 을 명시 적으로 파괴하는 방법을 모르겠습니다.
필자는 여기서 코드를 반드시 필요로하는 것은 보이지 않습니다. 꼬리말의 내용과 관련이있는 다른 콜백이나 리스너를 등록 하시겠습니까? –