수십개의 액티비티가 같이쓴는 변수같은걸 모아놓는 기능을 구현할려고 합니다.

 

조건이 데이터 특성상 db Data , File , SharedPreferences 와 같이 물리적으로 데이터를 폰내에서 기록하면 안되구요.

즉 메모리 변수로 가지고 있어야 되는 조건이 있습니다.(보안관련이라서요)

 

변수 종류가 가지수가 좀 많아서 일일이 intent에 주서담고 빼고 하기기 힘들어서

이런경우 전역변수처럼 쓸수있는 방법이 없나요?

 

아래처럼 sharedata클래스로 static클래스를 써서 프로그램이 변수를 설정하고 다른 액티비티에서 사용하는걸 생각햇습니다.

public class ShareData {

 public static String key  = null;
......

}

 

작동은 잘되지만 프로그램이 [홈]버튼으로 패시브되고 다른 어플을 수많이 띄우고 다시 돌아오면

static 변수가 null로 가비지가 생기는걸 확인했습니다.(이건 생각해보니 웹에서도 그랬던거가 뒤늦게 생각났습니다)

 

웹에서는 static을 유지하기 위해서 Singleton으로 설계했던 기억이 있습니다.

인스턴스1개로 가비지대상을 피해가는...

 

이런 전역변수를 앱에서 쓸수있는 방법없을까요?

램이 작은 테스트 폰에서 확연하게 눈에 띄게 나오는 현상이라서

절대 File로 데이터를 남길순없습니다(중요조건)

 

statice을 singleton으로 바꿔볼까합니다만..이건 개념이 좀 다른얘기라서 ....우선 테스트는 진행할려고합니다.

 

전역변수같은거 어떻게 쓰시나요?