2013-08-19 4 views
1

나는 수업 시작 시간이나 적어도 preception 된 시간을 향상시키는 방법을 찾고 있습니다.android 더 나은 시작 성능

JDK (이 경우 dalvik VM)가 시작되기 전에 애플리케이션의 스플래시 페이지가 표시 될 수 있으므로 성능이 향상됩니다. 안드로이드에서 어떻게 이것을 할 수 있습니까?

+1

시작하는 동안 무엇을하고 있는지 물어볼 수 있습니까? 귀하의 실적을 향상시킬 수있는 가능성은 지연 문제에 달려 있습니다. 스플래시 화면 정보 : Android에서 사용할 수 있지만 일반적으로 애플리케이션에 따라 더 나은 해결책이 있습니다. – dst

답변

0

사실 없음 "시작 페이지에도 JVM은 따라서 인식 성능 향상을 제공하기 시작하기 전에 표시 할 수 있습니다." 응용 프로그램의 활동이 표시되기 전에 스플래시 페이지가 표시됩니다. 이것은 Android Activity Manager 서비스 및 창 관리자 서비스에서 구현됩니다.

속도까지 부팅 성능면에서

, 유일한 응용 프로그램의 통제하에 성능 및 사전 부하에 의해 onCreate()onStart()

+0

예. AFAIK, Java App 측에는 Splash 화면 클래스가 있지만 Android 측에서는이 방법이 없지만 방법이 있습니다. – Geros

0

디자인 만 필요한 초기화를하는 것입니다.

welcome_activity.xml 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ImageView 
     android:id="@+id/image_welcome" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/welcome" /> 

</RelativeLayout> 

WelcomeActivity.java

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.welcome_activity); 

    AlphaAnimation alphaAnim = new AlphaAnimation(1.0f, 1.0f); 
    alphaAnim.setDuration(DURATION_TIME); 
    alphaAnim.setFillAfter(true); 
    alphaAnim.setAnimationListener(new Animation.AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 
     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      // startMainActivity(); 
      // finish(); 
     } 
    }); 

    findViewById(R.id.image_welcome).startAnimation(alphaAnim); 
} 
0

나는 JDK에서 응용 프로그램의 시작 페이지는 JVM은 따라서 인식 성능 향상을 제공 시작도하기 전에 표시 할 수 있습니다 읽었습니다.

먼저 Android는 JVM에서 코드를 실행하지 않습니다. 빌드시 생성되는 바이트 코드는 Dalvik이므로 안드로이드는 DVM을 사용합니다. 현학적 인 것을 유감스럽게 생각하지만 그것을 아는 것이 유용합니다.

둘째, 나는 당신이 읽을 것을 권 해드립니다. Splash Screens Are Evil, Don't Use Them! 모두가 저자가 표현한 정서에 동의하지는 않지만 저는 개인적으로 그렇게합니다.

제 의견으로는 예쁜 그림 만 제공하는 스플래시 화면은 사용자에게 실제로 일어나는 일이나 앱이 나타나지 않을 것이라는 표시가 없기 때문에 실제로 성능이 느려집니다.

앱이 시작될 때 장기 실행 작업을 수행해야하는 경우 발생하는 상황을 알려주는 텍스트가있는 ProgressDialog 만 있으면 충분합니다. 다운로드 또는 설치 프로그램 대화 상자 "Performing Step of 8 of 8"과 유사합니다.

관련 문제