SomeFragment fragment = SomeFragment.newInstance(bitmap);
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
fragment.setSharedElementEnterTransition(new DetailsTransition());
fragment.setEnterTransition(new Fade());
fragment.setExitTransition(new Fade());
fragment.setSharedElementReturnTransition(new DetailsTransition());
ft.addSharedElement(view, "SomeImage");
ft.replace(R.id.main_container_, fragment);
ft.addToBackStack(null);
ft.commit();
} else {
ft.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
ft.replace(R.id.main_container_, fragment, "SomeImage");
ft.addToBackStack(null);
ft.commit();
}
Fragment로 화면 이동 시, 서버에서 받은 Bitmap가 함께 이동할때 위 소스를 주로 사용 합니다.
이때 원하는 퍼포먼스가 잘 안나오고, 이상하게 동작을 할 때가 있습니다.
여러번 테스트를 해보니, 공유하는 Bitmap이 Memory 상에 올려져 있지 않을 상태라면 로딩 딜레이 때문에
움직임에 부작용이 생기더라구요.
따라서, Fragment로 공유하고자 하는 Bitmap은 전역변수와 같이 미리 Memory에 올려놓은 상태에서
이용을 하면 원하는 동작이 잘 이루어 졌습니다.
이건 어디서 찾아본 것 보단 제가 직접 테스트 하여 얻은 결론 입니다.
참고하세요.
## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 입니다.
내용이 부실해도 이해해 주시길 바랍니다.
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[Android][펌]안드로이드 Intent 사용법 (0) | 2015.11.17 |
---|---|
[Android] TabLayout with ViewPager 에서 tab을 클릭 했을 때 (0) | 2015.11.17 |
[Android] Tablayout이 보이지 않을 때 (0) | 2015.11.16 |
[Android] LayoutInflater 사용시 주의점 (0) | 2015.11.13 |
[Android] Project에 Proguard 적용 하기 (0) | 2015.11.12 |