저는 앱 제목 (2 개의 애니메이션 이미지보기 오버레이), 2 개의 애니메이션 사진, 또한 오버레이 된 3 개의 버튼을 보여주는 주요 활동이있는 앱을 개발 중입니다. 이 활동에는 다른 활동에서 사용하는 것과 동일한 배경 이미지가 있습니다.
앱은 한 활동에서 다른 활동으로 흐르고 결국이 기본 활동이 다시 시작됩니다 (FLAG_ACTIVITY_CLEAR_TOP 사용). 모든 것이 잘 작동하지만 여러 번 다시로드 한 후 Android 2.1 기기에서 메모리 부족 오류가 발생합니다.
처음에는 드로어 블 폴더에 모든 이미지가 있었는데 메인 활동에 5 번 도달 한 후 문제가 나타났습니다. 그런 다음 비트 맵 크기를 조정하여 밀도에 따라 적절한 폴더에 넣었고 주요 활동에 14 번 도달 한 후 문제가 나타났습니다. 이제 테스트 목적으로 배경 이미지를 제거했으며 20 회 이상 다시 실행 한 후 메모리 부족이 나타납니다.
또한 홈 버튼을 누른 다음 내 앱으로 다시 전환하면 나중에 문제가 나타나지 않는 것 같습니다.
또한 Nexus 5에서 앱을 테스트했는데 메모리 부족이 발생하지 않습니다.
그래서 ... 그게 내 전화에 문제가있는 건가요? Android 2.1에서?
감사!
[편집] 나는 문제를 찾았다 고 생각하지만 여전히 이상한 행동입니다.
예를 들어, 어느 시점에서 활동을 다시 만들어야합니다. 내 최소 API 레벨 (7)에는 "재 작성"메소드를 사용할 수 없으므로 다음과 같이 수행합니다.
Intent refresh = new Intent(getActivity(), getActivity().getClass());
refresh.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(refresh);
제 생각에는 맞습니다. onClickListeners를 해제하고 onStop ()에서 애니메이션을 지 웁니다. 그러나 onStop ()에 중단 점을 넣으면 예상 할 때 호출되지 않습니다. 활동이 다시 생성 되 자마자 호출되는 경우도 있지만 몇 초 후에 호출되는 경우도 있습니다.
그러나 홈 버튼을 누르면 onStop이 제대로 호출되고 응용 프로그램으로 다시 전환하면 모든 것이 잘 작동합니다.
가장 쉬운 해결책은 애플리케이션 태그 아래에 매니페스트를 추가하는 것입니다.
android:largeHeap="true"
그러나 이것은 문제를 해결하지 못할 것입니다. 단지 몇 번 더 지연하십시오.이 링크는 응용 프로그램을 분석하고 원인을 확인하는 데 도움이 될 것입니다. http://blogs.innovationm.com/android-out-of-memory -오류 원인 해결책 및 모범 사례 /
이 문제도 있었기 때문에이 문제가 이미지와 관련이 있다고 생각합니다.이 문제에 대한 Android 공식 링크는 다음과 같습니다. http://developer.android.com/training/displaying-bitmaps/index.html
이것은 나를 도운 링크입니다 .. http://developer.android.com/training/displaying-bitmaps/load-bitmap.html 사용해보십시오
도움이되는 희망
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다