안타깝게도 Android 프로젝트에서 내부 상태의 C 라이브러리를 사용해야합니다. 라이브러리에는 상태 유지 기능 init()
과 release()
이 포함되어 있습니다. static init()
및 release()
멤버가있는 래퍼 클래스를 작성했습니다. 그런 다음 주 활동의 OnCreate()
및 OnDestroy()
에이 메소드에 대한 호출을 각각 추가했습니다.안드로이드에서 네이티브 라이브러리 상태를 초기화하는 올바른 방법
그리고 그것이 내가 문제가되는 곳입니다. 시스템의 메모리가 부족하고 다른 활동이 포어 그라운드 인 경우 주 활동이 종료되고 release()
이 호출됩니다. 따라서 이후의 모든 기본 라이브러리 호출은 눈에 띄게 실패합니다.
질문은 어떻게 주 활동이 결코 죽지 않는지 확인하는 것입니다. 아니면 활동의 콜백에서 수행하는 것보다 네이티브 함수를 호출하는 더 좋은 방법이 있을까요?
감사합니다.'Application'을 서브 클래 싱하는 것이 저에게 좋은 아이디어 인 것 같습니다. 도서관에 관해서는, 그것은 특별한 것이 아니라, 몇 가지 중요한 업무 처리 과정입니다. 'init()'에서는 내부 테이블을 할당하고 미리 계산합니다. – turboNOMAD