2017-07-07 17 views
1

私はAndroidアプリケーション開発で初心者です。私のスプラッシュ画面では、アプリケーションデータが設定からクリアされると、19秒間ロードされます。アプリケーションは、スプラッシュ画面を起動すると は5s.Iをなぜそれが時間以下 を取っている見当がつかない取る私のアンドロイドAndroidManifestファイルのコードです:アプリスプラッシュ画面にキャッシュデータクリア後に時間がかかります

<activity android:name=".activity.SplashActivity" 
      android:screenOrientation="portrait" 
      android:theme="@style/SplashTheme" 
      > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

public class SplashActivity extends AppCompatActivity { 

public final int SPLASH_DISPLAY_LENGTH=1000; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    setTheme(R.style.SplashTheme); 
    super.onCreate(savedInstanceState); 
    // setContentView(R.layout.activity_splash); 

    new Handler().postDelayed(new Runnable(){ 
     @Override 
     public void run() { 
      /* Create an Intent that will start the Menu-Activity. */ 
      Intent mainIntent = new Intent(SplashActivity.this,MainActivity.class); 
      startActivity(mainIntent); 
      finish(); 
     } 
    }, SPLASH_DISPLAY_LENGTH); 
} 
} 

私のスプラッシュは、次のように私のスプラッシュ活動がある

以下のようなテーマは以下のとおりです。

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowDisablePreview">true</item> 
    <item name="android:windowBackground">@drawable/splash_screen_drawable</item> 
</style> 

次のように私のスプラッシュ画面描画可能である:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:drawable="@color/icons" 

     /> 

    <item 
     android:left="65dp" 
     android:right="65dp"> 
     <bitmap 
      android:gravity="center" 
      android:src="@drawable/placeholder_splash" 

      /> 

    </item> 
    <item android:drawable="@android:color/transparent"></item> 
</layer-list> 
+0

初めてアプリを起動するとき、またはアプリを起動するたびに発生しますか? –

+0

私の答えがあなたの問題を解決することを願っています。 –

+0

Application.onCreate()で何か特別なことをしていますか? – BladeCoder

答えて

0
public class SplashActivity extends AppCompatActivity {  
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setTheme(R.style.SplashTheme);  

Thread th = new Thread() { 
      @Override 
      public void run() { 
       try { 
        sleep(1000); 
        Intent i = new Intent(getBaseContext(), MainActivity.class); 
        startActivity(i);      
        finish(); 
       } catch (Exception e) { 

       } 
      } 
     }; 
     th.start(); 
} 
} 
+0

私のスタックトレースはありません –

+0

.activity.SplashActivity:+ 959ms I/ActivityManager:表示com.ct.linkcardapp/.activity.Home:+ 474ms(合計+ 884ms) I/ActivityManager:表示されたcom.android .settings/.applications.ManageApplicationsActivity:+ 349ms I/ActivityManager:表示com.android.settings/.applications.InstalledAppDetailsTop:+ 328ms 07-07 13:43:53.599 1630-1690 /? I/ActivityManager:表示com.ct.linkcardapp/.activity.SplashActivity:+ 18s926ms 07-07 13:43:55.105 1630-1690 /? I/ActivityManager:com.ct.linkcardapp/.activity.MainActivity:+ 713ms –

+0

アンインストールアプリを表示し、これを再度インストールしてください。 – Omi

0

問題は、単にその機能を無効にアプリケーションをロードするには時間がかかりすぎるインスタント実行機能です。 Windowsの場合

:ファイル]→[設定]→[ビルドし、実行、展開→インスタント 実行し、インスタントの実行を有効にオフにします。

Macの場合:Android Studio→環境設定→ビルド、実行、展開→インスタント [インスタント実行を有効にする]をオンまたはオフにします。

下記のスクリーンショットをチェックし、その2つのオプションのチェックを外してください。その後、アプリケーションをアンインストールして、プロジェクトを再度実行します。

enter image description here

+0

それは私のために働いていません –

関連する問題