当我开始我的活动时,我注意到一个短暂的延迟。我点击我的应用程序图标,主屏幕会在屏幕上停留大约 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>