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

static 변수와 Application 클래스의 변수 중 어느 것이 속도에 좋은 방법일까요?

0 추천

일단 상황은 Thread가 sleep 없이 돌아가고 있습니다.

다음 중 어느 방식이 처리 속도 면에서 유리한 방법일까요?
 
1. 
   -. A class에 static 변수로 선언 된 놈에 Thread에서 값들을 대입 하고
   -. B class에서 A class의 static 변수를 사용하는 방식
 
2. 
   -. Application 클래스를 상속 받은 클래스(MyApplication 클래스)에 변수 선언된 놈을 Thread에서 값들을 대입하고
   -. B class에서 MyApplication 클래스의 변수를 사용하는 방식
 
위 둘 중 어느 것이 속도면에서 유리할까요? 혹시 경험 있으신 분 있으십니까?
UnlimitedJava (910 포인트) 님이 2013년 11월 1일 질문

2개의 답변

0 추천
속도문제가 아니고 근본적으로 쓰임새가 다릅니다
건방진프로그래머 (26,630 포인트) 님이 2013년 11월 2일 답변
답변 감사합니다.
여러 센서들이 연결된 디바이스와 태블릿이 serial port를 통해 데이터를 주고 받는데 개발 과정 중에 static을 사용했더니 속도 문제가 좀 심각한 거 같아서 ... 등등 위 두 경우를 생각해 봤습니다.
답변 감사합니다.
0 추천
멀티쓰레드 환경에서 synchronized를 사용한 경우도 아니니 속도문제는 없을듯하고, 구조문제를 생각하셔야 할듯합니다.

static을 남용하게 되면 클래스간의 의존관계가 늘어나서 유지보수가 힘들어 지게 됩니다.

Application을 어떻게 사용하는지 모르겠지만 Application에서 다른 클래스간에만 의존관계를 만들어 놓으면 스프링프레임웍의 DI 같은 패턴이 되어서 유지보수가 쉬워집니다.
이스트플랙 (2,510 포인트) 님이 2013년 11월 2일 답변
좋은 의견과 답변 감사합니다.
일단 serial port를 통해 들어오는 데이터 양이 많기도 하고 0.004초당 하나씩 올라오는 경우 등 다양해서 쓰레드로 처리하면서 속도 문제가 민감하게 발생해서 어쨌든 static을 사용해야만 하는 상황이고 등등 고생해서 문제를 해결은 했는데 위 두 경우에 대해 궁금해서 질문 올렸습니다.
답변 감사합니다.
...