在我的应用程序中,网络访问正在一个线程中运行。每当我更改屏幕方向时,我的应用程序崩溃。我怎么解决这个问题?
答案 0 :(得分:2)
感谢您的回答.. 我通过实现活动生命周期方法OnStop得到了解决方案。 在那个方法中,我刚刚添加了以下代码
@Override
public void onStop()
{
super.onStop();
if(thread!=null)
thread.stop();
if(dialog!=null)
dialog.dismiss();
}
答案 1 :(得分:1)
每次设备方向更改时,活动实际上都会停止并重新启动。你需要记住你的线程,即停止线程并在设备改变方向时重新启动它,也许在两者之间保存状态。
答案 2 :(得分:1)
您好我认为您应该首先完成活动生命周期。
因为只要方向发生变化,就会调用OnCreate()方法,
会导致应用程序崩溃。
最诚挚的问候, 〜阿努普
答案 3 :(得分:1)
您可以让您的应用程序侦听可能导致重新启动的事件(如方向和键盘可见性更改),并在您的活动中处理它们。
首先将android:configChanges
节点添加到Activity的清单节点
android:configChanges="keyboardHidden|orientation"
然后在Activity中覆盖onConfigurationChanged方法并调用setContentView以强制在新方向上重新完成GUI布局。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}