3

アクティビティを開始すると、少し遅れていることに気付きます。アプリのアイコンをクリックすると、アクティビティが表示される前にホーム画面が約 1 ~ 1.5 秒間画面に表示されたままになります。

私のアクティビティの onCreate メソッドが完了するまでに約 800 ミリ秒かかります。

android:screenOrientation="landscape"また、空のレイアウトでテスト アクティビティを使用した場合でも、設定によって顕著な遅延が追加されることにも気付きました。

この遅延を解消する方法、または少なくとも UI の読み込み中に黒い画面を表示する方法はありますか?

編集済み: 以下のテスト アクティビティのコードを参照してください。私の実際のアクティビティでは、GUI 要素やエンジン ロジック、サウンドなど、他にも多くの読み込みがあります。本当の問題は、この小さなテスト アクティビティを使用しても遅延が見えることです。


テスト アクティビティのコード:

public class TestActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Set full screen mode and disable
        // the keyguard (lockscreen)
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN  
                             | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
                             | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                             | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        setContentView(R.layout.main);
    }
}

レイアウト XML:

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

マニフェスト:

<activity
    android:name=".TestActivity"
    android:configChanges="orientation|keyboardHidden"
    android:label="@string/app_name"
    android:screenOrientation="landscape"
    android:windowSoftInputMode="stateAlwaysHidden|adjustPan" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

2 に答える 2

2

デフォルトのアクティビティを、背景を表示して実際のアクティビティを開始するだけのほぼ空白のアクティビティに設定できます。スプラッシュ画面のように

于 2012-05-01T18:52:36.017 に答える