안녕하세요 ~
최근에 앱을 개발중인데 7.0 버전에서 transactiontooLargeexception 이 발생이 하더라고요 ..
개발중인 앱이 프래그먼트액티비티 안에 여러개의 프래그먼트로 구성되어있는데 디버깅 해보니 framment 에서 다른 액티비티로 이동될때
프래그먼트 액티비티의 onSaveInstancestate 가 호출되고 해당 프래그먼트의 onSaveInstancestate 에서 해당 에러가 발생했는데
그래서 onSaveInstanceState의 번들 사이즈를 로그로 찍어보니 번들의 사이즈가 크더라고요 ..
여기서 궁금한 점이 저는 onSaveInstanceState 에서 따로 저장하는데이터가 없고 앱자체가 화면전환(가로세로)도 없습니다.
단지 프래그먼트를 생성할때 데이터 객체를 넘겨주기 위해 Bundle에 담아 넘겨준 데이터 객체 크기만큼 찍혔다는게 이해가 되지 않습니다.. 일단은 프래그먼트 생성시 번들로 넘겨주지 않고 프래그먼트 생성후 해당 프래그먼트에서 public 메소드를 만들어서 데이터를 넘겨주도록 수정하였습니다..
왜 setArguments 넘긴 데이터가 onSaveInstanceState 에 쌓이는지 궁금합니다 ! 감사합니다
* 추가 번외적인 궁금사항입니다.
혹시 AndroidAnnotations 와 Dagger2 + ButterKnife 를 비교했을때 여러분들은 어떠한 조합이 나으신거 같나요 ?
참고로 저는 AA 를 사용중이지만 Dagger2 + ButterKnife 로 봐꿔야 하나 고민중입니다..