2014-11-05 2 views
2

나는 각각에 대해 더 나은 (읽기 최적화 된) 패턴을 찾으려고 노력하고있다. 본질적으로, 나는 세 가지 활동 - LaunchActivity, WelcomeActivityMainActivity을 가지고 있습니다. LaunchActivityDEFAULTLAUNCHER이고 내 경우에는 LaunchActivity에 아무런 UI도 표시되지 않습니다. 즉, onCreate()에있는 setContentView()을 전혀 호출하지 않습니다. 내가하는 모든 것은 본질적으로 onStart()에서 특정 조건을 확인하고 결과에 따라 WelcomeActivity 또는 MainActivity을 시작합니다.가벼운 무게 대안에 대한 대안

이제 궁금합니다. Activity [LaunchActivity의 수퍼 클래스]가 몇 가지 검사를 수행해야합니까? Activity을 인스턴스화하는 데 상당히 시간이 오래 걸리고 비싸기 때문에 실행 프로세스를 빨리 시작할 수있는 경량 옵션이 있습니까?

감사합니다.

답변

1

저는 이러한 종류의 시나리오를 다루면서 내 응용 프로그램에서 스플래시 화면으로 활동하는 활동을 사용합니다.이 작업을 수행하는 이점은 내 응용 프로그램에 멋진 인터페이스와 풍부한 그래픽 승격을 제공한다는 것입니다. 액티비티, 나는 내 Android 애플리케이션의 마지막 저장된 상태를 바탕으로 다음에 어떤 액티비티를 시작해야하는지 결정 중입니다. enter image description here


(내가 날에 의해 개발 된 응용 프로그램에서 구현되지 않습니다) 또 다른 대안은 시작 활동 매번를 시작하는 것입니다, 그 onCreate() 체크 해당 조건 condition.If 일부는 MainActivity를 연 다음 충족 텐트를 사용하여 ... 다른 사람은 그냥 하나 개의 활동의 오버 헤드를 추가 만하고 있기 때문에 나는 첫 번째 방법이 더 좋은 방법입니다 사용하여 믿고,

public class WelcomeActivity extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if(your condition)//check some condtion here 
    { 
     // if met,go to MainActivity 
    } 
    else 
    { 
     //carry on with the flow of WelcomeActivity 
    } 
    } 
} 

전반적으로 환영 활동의 흐름에 수행 응용 프로그램 cle의 흐름 aner

+0

멋진 그래프로 설명해 주셔서 감사합니다. 나에게 LaunchActivity는 본질적으로 SplashActivity입니다. 스플래시를 위해 풍부한 UI가 아닌 실행 속도가 중요합니다. LaunchActivity에서 하나의 if-else 호출을 만들기위한 Activity를 사용하고 있습니다. 가능한 경우이를 피하려고합니다. –

+0

다음 다른 접근 방식으로 가십시오. :) – nobalG

관련 문제