그래서 모든 파일에서 액세스 할 수있는 모든 종류의 데이터를 보유하기로되어있는 Global
클래스가있다. Global
은 다음과 같습니다Java - 내 글로벌 클래스에 대한 참조를 잃어 버린다.
public class Global{
public static int rules = 0;
public static String data;
public static int score;
public static int speed = 0;
//etc...
}
내가 설정하고 Global.x = ___
등을 수행하여 물건을 얻을.
그러나 최근에 만든 프로젝트 (예 : View A
)의 메모리 누수가 정리 된 시간보다 오래 유지되었습니다.
이 View A
은 Global.x
으로 지정됩니다.
이제 View B
으로 이동하면 View A
이 GC됩니다.
그러나 Global.x
에는 더 이상 값이 없습니다.
Java에서 예상되는 동작입니까? 그렇다면 View A
에서 전역 클래스에 변수를 할당하고 View A
이 죽은 후에도 변수가 유지되도록하려면 어떻게해야합니까?
아니면 다른 곳에서 뭔가 잘못하고있는 것입니까?
나는 뭔가를 간과 할 경우에 대비해 궁금해했다.하지만 아마 후자 일 것이다.
보기에서 무엇을 의미합니까? –
안드로이드'SurfaceView'.내 질문은 일반적인 Java 질문 일 것이라고 생각했기 때문에 세부 사항에 너무 많이 들어가기를 원하지 않았다. – Houseman
'A'보기에'Global' 인스턴스를 만들고 거기에 데이터를 설정하거나'Global'이 속성은'public static'으로 (그런데이 마지막 것은 매우 나쁜 디자인입니다)? –