在某些情况下,点击APP图标,可能会有几秒中的延时才会显示APP界面,但是在显示界面之前点击桌面的其他位置是无效的,因为此时APP其实已经启动了,只是没有显示出来而已,这个阶段的界面叫做Activity的预览视图.
出现的原因是因为在style中使用了
<item name="android:windowIsTranslucent">true</item>
或者开启了
<item name="android:windowDisablePreview">true</item>
如果想要APP实现秒开的效果,可以禁用预览视图并且关闭透明视图
<item name="android:windowDisablePreview">false</item>
<item name="android:windowIsTranslucent">false</item>
但是此时还会存在问题:虽然点击图标很快就有响应,但是界面是白色的,此时可借助
<item name="android:windowSplashscreenContent">@drawable/ic_launcher_foreground</item>
来添加一个过渡页,即可实现秒开的效果。
完整的Activity代码如下所示:
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
为了现象明显,加了5秒的延时处理。