아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
대단한멧새102
대단한멧새10219.02.24

안드로이드에서 로딩화면을 구현하려합니다.

대부분 앱시작할때 자사 브랜드 로고를 이용하여 로딩화면을 만들던데

이는 액티비티로 만드는것인가요? 아니면 프래그먼트로 해야하나요?

어떤것이 더 효율적인지 알려주세요.

55글자 더 채워주세요.
답변의 개수2개의 답변이 있어요!
  • 딱 기준이 되어 이럴 때는 액티비티를, 이럴 때는 프래그먼트를 써야한다는 기준은 없습니다.

    일반적인 안드로이드에서는 화면을 바꿀때 두가지 방법이 제공됩니다. 두가지 방식의 차이는 당연히 존재합니다.

    먼저 시각적으로는 액티비티를 새로 띄우는 경우 화면전체가 깜빡인다던지 하는것을 볼 수 있고, 프래그먼트는 지정된 그 부분만 변경됩니다.

    둘다 장단점은 존재 합니다.

    모바일에서 많이 사용하는 방식인 여러탭으로 화면을 전환시킨다거나,

    사이드메뉴에서 화면을 전환 한다던지 하는 기본틀은 유지하고 여러 화면이 구성되는 방식에서는 프래그먼트가 보기에도 좋고 구현하기도 편합니다.

    액티비티는 추가할때마다 메니페스트에 추가 해주어야 하지만 프래그먼트는 그런것이 없습니다.

    단순 로딩 화면이 필요하시다면 프래그먼트를 사용하시는 것이 좋다고 봅니다.

    하지만 액티비티로 할수있는것이 있고 프래그먼트로 할수있는것이 있기때문에 적절한곳에 사용하셔야 합니다.

    안드로이드 프로그래밍을 조금 하시다 보면 이럴땐 프래그먼트를 써야겠다, 액티비티를 써야겠다는 느낌이 오실겁니다.


  • 앱 실행 시 앱 실행 전 처리해야 할 백그라운드 작업이 있을경우 또는 디자인적으로 로고를 보여줘야 하는 경우 처음 실행하는 액티비티를 별도로 만들게 됩니다.

    A라는 액티비티가 메인이 된다면, B라는 별도의 액티비티를 만들어
    B라는 액티비티가 앱을 실행했을때 최초로 보여지는 화면이 됩니다.

    B라는 액티비티에서 위에서 언급한 전처리 과정이나, 로고를 보여주고 필요할 경우 딜레이를 줘서 실행하는 사용자가 강제로 스플래시 화면을 볼 수 있도록 합니다.

    하지만 위와 같은 방법은 추천되지 않습니다. 이유는
    - 스플래시 액티비티가 로딩되는데 시간이 걸린다면 사용자는 흰 화면의 빈 바탕을 볼 수 밖에 없습니다.

    그렇기 때문에 빈 액티비티를 보여주는 방법이 아닌 별도의 방법으로 스플래시를 보여주도록 추천합니다.
    아래의 문서를 참조하시면 좀 더 자세한 내용을 얻으실 수 있습니다.

    https://android.jlelse.eu/the-best-way-to-create-a-splash-screen-in-android-16f9096bf827
    http://dudmy.net/android/2017/04/09/improved-loading-screen/