アクティビティを開始すると、少し遅れていることに気付きます。アプリのアイコンをクリックすると、アクティビティが表示される前にホーム画面が約 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>