2 ~ 3 일 동안 내 문제에 대한 해결책을 찾았지만 유사한 문제가있는 사람을 찾지 못했습니다. 기본적으로 내 앱은 웹 사이트의 '모바일 버전'이므로 시간적으로 다른 계정의 정보를 저장해야하므로 signleton 클래스를 사용하여 '사용자'라고합니다. 그러나 어떤 두 가지 활동을 탐색하면서 (하나는 확장 가능한 목록이 있고 다른 하나는 목록보기), 빈 공간을 "상점"(두 번째 활동)의 요소로 대체하는 카트 (1 차 활동)가있는 것처럼 당신은 다른 사람과 다른 사람에게서 여러 번 거듭납니다). 그래서 Intelligent()를 통해 앞으로 및 뒤로 작업하는 동안 갑자기이 싱글 톤이 다시 초기화되어 응용 프로그램이 깨지는이됩니다. 이상한 사실은 입니다. logcat에 어떤 오류도 발생하지 않으며, singlotn이 init() 메소드을 호출하여 특정 시점에 로그를 기록하기 때문에 앱이 일시적으로 중단됩니다. 또 다른 이상한 점은 내가 처음으로이 물건을 구현했다는 것입니다. 아무런 문제없이 작동했습니다. 이제는 여러 가지 다른 활동을 구현했고 모든 그래픽 요소 (활동 및 목록 요소, 많은 드로어 블 등의 배경)를 추가했습니다. 이 문제가 발생합니다 (이전에 말한 작업 만 수행). (이게 관련이 있는지 모르겠다.) 내 애플리케이션은 J. Feinstein (몇 가지 기능, 예를 들어 확장 가능한 목록이있는 것)과 ActionBarSherlock의 슬라이딩 메뉴를 사용한다. (아직 사용자 정의 액션을 사용한다. 막대, 그래서 나는 내 자신의 행동을 팽창시킨다. 바 레이아웃). 각 액티비티에는 매 액티비티의 onCreate() 메소드에서 매번 생성되는 슬라이딩 메뉴가 있습니다.앱이 실행되는 동안 내 안드로이드 앱의 싱글 톤이 다시 초기화 됨
나를 돕기 위해 필요한 코드 또는 로그 이벤트의 모든 부분을 물어 보겠습니다. 여기에 설명해 드리겠습니다.
도움을 주셔서 대단히 감사드립니다. 저는이 문제에 정말로 빠져 있습니다.
빠른 재생을 위해 Carl에게 감사드립니다. 네, "세션"객체가 필요합니다. 사실, 응용 프로그램 클래스를 확장하는 싱글 톤은 응용 프로그램이 살아있을 때까지 살아 있다는 사실 때문에 완벽했습니다. 또한 가장 중요한 활동을 열 때 항상 데이터를 업데이트하기 위해 몇 가지 웹 서비스를 호출하고 싱글 톤 클래스에서 더 느린 것으로 생각한이 데이터를 항상 읽고 쓰십시오. 이러한 데이터를 활동을 통해 전달하십시오. 모든 활동에서 액세스 할 수있는 것보다 실제로는 더 복잡하다고 생각하며, 중앙 집중화하여 더 쉽게 업데이트 할 수있게하십시오. – Axce
또한 iOS에 동일한 앱을 개발하는 파트너는 동일한 싱글 톤을 갖고 있더라도 이러한 종류의 문제가 없습니다. 싱글 톤 객체는 iOS 및 Android와 다르게 관리됩니까? – Axce
@Axce 앞서 언급했듯이 Android 시스템은 활동 외부의 일부 리소스를 종료시킬 수 있습니다. 액티비티간에 매개 변수를 전달하려면 http://stackoverflow.com/a/2091482/747906을 참조하십시오. –