Android 开始新活动时的ANR
嗨,我在屏幕上显示了3秒钟,然后我开始了新的活动,但在安卓5.0上,有一个黑屏几乎持续了10秒,而且是ANR。这是活动中显示3秒钟的所有代码:Android 开始新活动时的ANR,android,android-activity,android-5.0-lollipop,Android,Android Activity,Android 5.0 Lollipop,嗨,我在屏幕上显示了3秒钟,然后我开始了新的活动,但在安卓5.0上,有一个黑屏几乎持续了10秒,而且是ANR。这是活动中显示3秒钟的所有代码: private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor(); @Override protected void onCreate(Bundle savedInstanceState) { s
private static final ScheduledExecutorService worker =
Executors.newSingleThreadScheduledExecutor();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Crashlytics.start(this);
setContentView(R.layout.splash_fragment);
Runnable task = new Runnable() {
public void run() {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
};
worker.schedule(task, 3, TimeUnit.SECONDS);
}
以及来自logcat的日志:
Activity destroy timeout for ActivityRecord
I/InputDispatcher( 725): Application is not responding: AppWindowToken
It has been 5005.0ms since event, 5003.6ms since wait started.
Reason: Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.
I/WindowManager( 725): Input event dispatching timed out sending to application AppWindowToken
Reason: Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.
我做错了什么?我怎样才能修复它?为什么要花很长的时间,而你有一个简单的过程。正如@Chen在上面所评论的,您可以像这样启动
mainacivity
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
}, 3000);
为什么要走漫长的过程,而你有一个简单的。正如@Chen在上面所评论的,您可以像这样启动
mainacivity
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
}, 3000);
您是否尝试使用
Handler.postDelayed(Runnable r,long delaymilis)
?为什么显示启动屏幕?您是否尝试使用Handler.postDelayed(Runnable r,long delaymilis)
?为什么显示启动屏幕?