결론은 argument를 사용하라는 겁니다. 먼저 아래 링크를 눌러서 제가 올려놓은 관련 영상을 확인해 보세요.
https://imgur.com/a/LgzY7IG
첫번째 동작은 "With Arguments" 버튼을 누른 후 Profile화면으로 이동한 후 디바이스를 회전합니다. 원래 있던 내용이 그래도 남아 있습니다.
두번째는 "Without Arguments"버튼을 누른 후 Profile화면으로 이동합니다. 이 때는 디바이스를 회전할 경우 있던 데이터가 사라집니다.
둘의 차이점을 짐작하시겠죠?
두번째 동작처럼, Arguments를 사용하지 않고 프레그먼트의 멤버를 직접 설정할 경우는 디바이스 회전같이 프레그먼트가 다시 생성될 경우에 가지고 있던 데이터를 복구해 주지 않습니다. 첫번째와같이 Argments 를 사용하면 다시 복구해 주죠.
이 디바이스 회전과 같은 걸 Configuration change라고 부르는데, 개발자 문서에 이걸 핸들링 할 수 있는 방법들이 나옵니다.
https://developer.android.com/guide/topics/resources/runtime-changes