마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
static method가 null pointer exception이 나네요.
0
추천
public class XXXX를 선언하고
이 안에는 앱 내에서 공통적으로 쓰는 기능들을 모아두었습니다.
메소드는 전부다 public static ~~이구요.
평상시에는 문제가 없는데
앱을 켜 놓은 후 오랜시간이 지나면(12시간 까지도)
해당 기능을 사용하는 곳에서 널포인터가 날때가 종종 있습니다.
gc가 되어버려서 참조 오류가 나는것 같기도 한데..
구체적인 원인은 잘 모르겠네요.
이유가 무엇일까요?
null
gc
static
모나미153
(
17,540
포인트)
님이
2016년 3월 22일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
2개의 답변
0
추천
채택된 답변
따로 복구 작업을 해놓지 않으면 메모리킬러앱이나 오랜시간 방치후에 메모리에서 날아갑니다.
이것을 방지하려면 상태를 저장하고 복구하는 부분이 들어가야 합니다.
http://developer.android.com/intl/ko/training/basics/activity-lifecycle/recreating.html
위 안드로이드 개발자 사이트 한번 보시고 적용해보세요
키워드는 savedinstancestate 입니다.
그리고 공통으로 쓰는 변수가 바뀌지 않는 상수인 경우에는 static final로 선언 하시는게 좋습니다.
캬옹이
(
37,920
포인트)
님이
2016년 3월 22일
답변
모나미153
님이
2016년 3월 22일
채택됨
Please
log in
or
register
to add a comment.
0
추천
해당 클래스의 static 메소드 내에서 static 변수 (객체 레퍼런스)를 사용하는 곳이 있다면 그런 오류가 발생할 수 있습니다.
static 변수를 사용하는 모든 곳에 null 검사를 추가하세요.
static 상수만 사용하면 이런 현상이 발생하지 않습니다.
익명사용자
님이
2016년 3월 22일
답변
아.. 그럼 final로 선언하면 문제가 없겠죠?
Please
log in
or
register
to add a comment.
...