마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

다른패키지의 변수나 함수 사용하기.

0 추천
한 프로젝트 내에

test.A라는 패키지가 있고, (해당 패키지에 A.class)

test.B라는 패키지가 있습니다.(해당 패키지에 B.class)

A.class에서 B.class에 선언된 변수나 함수를 사용하려고 하는데요,

static 등으로 선언한 경우 사용이 가능하다는데,

다른 질문글을 읽어보니 static 변수를 사용하면 안좋을 수있다는 말을 봤습니다..

어떠한 점에서 무슨 문제가 있는건가요?
anci (19,950 포인트) 님이 2015년 3월 3일 질문

2개의 답변

+1 추천
 
채택된 답변
경험에 의한 것으로

어플에서 하나의 오류가 나면 static로 선언된 값들이 모두 초기화되더군요.

또한 실행중에 항상 메모리를 잡아먹고 있기때문에

static을 남발해서 사용하면 안되지요....
nicehee (73,100 포인트) 님이 2015년 3월 3일 답변
anci님이 2015년 3월 3일 채택됨
댓글 감사합니다.
그런 점이 있군요..혹시 static 사용 없이 어떤 방법으로 구현이 가능한지 키워드 라도 알려주실 수있나요?
쉐어드프리퍼런스/파일/DB에 저장해서 사용하심 되것네요
+1 추천
안드로이드에서 메모리 릭을 유발하는 주요 요소중에 하나이기 때문입니다.

대표적인 예로 Context 객체를 참조하는 View 등을 static 변수로 갖고 있을 때 인데요

이때 화면 rotation 등이 발생했을 때 이전 context 가 죽지 않고 살아있어 OOM 의 원인이 되기도 합니다.

그리고 다른 패키지에 있어도 public 으로 선언된 변수와 함수는 사용하실 수 있습니다.

다른 패키지에 있고 없고는 static 과는 상관이 없습니다.

static 을 사용하고 싶을 때는 객체의 인스턴스 생성을 안하고 사용할때이죠
mamondebaltob (32,750 포인트) 님이 2015년 3월 3일 답변
...