2011-01-18 2 views
6

방금 ​​내 안드로이드 앱의 상태를 유지하고 onRetainNonConfigurationInstance를 발견했습니다. documentation을 읽는 동안 그러나 나는이 문장주의 :이 기능은 최적화로 순수이라고onRetainNonConfigurationInstance를 구현해야합니까?

을, 당신은이 호출되는에 의존하지 않아야합니다.

이렇게 궁금한 점은 언제이 방법을 사용하는 것이 합리적인지. 내가 호출되는 것에 의지 할 수 없다면 어쨌든 상태를 전달할 다른 메커니즘이 필요하다. (필자의 경우 직렬화가 될 것이다). 따라서 성능이 저하되지 않으면 onRetainNonConfigurationInstance를 사용해야하는 이유가 무엇입니까?

호출 할 수 있다면 그것을 사용하고 싶지만, 그렇지 않은 경우 꽤 쓸모없는 것처럼 보입니다.

내가 누락 된 항목이 있습니까? 언제이 방법을 사용합니까? 어떻게 네트워크 연결을 유지 하시겠습니까?

감사합니다.

답변

12

설명서가 의미하는 바는 해당 활동이 즉시 다시 작성되지 않는 경우로, onRetainNonConfigurationInstance()가 호출되지 않는 경우입니다. 이 방법을 사용하여 데이터를 유지할 수는 없습니다. 구성 변경 중에 작성하는 데 비용이 많이 드는 오브젝트를 전송하는 데에만 사용됩니다.

+0

아, 좋은 소리! 그래서 오리엔테이션 변경에 사용할 수 있고이 경우에 호출되는 것에 의존 할 수 있습니다. – Philipp

+1

이것은 늦어지고 있지만, 이에 대한 자세한 내용을 알고 자하는 분들은 CommonsWare 응답을 읽어 보시기 바랍니다 : http://stackoverflow.com/questions/4285877/which-one-to-use-onsaveinstancestate-vs-onretainnonconfigurationinstance –

관련 문제