在我的应用程序中,网络访问是在一个线程中运行的。每当我改变屏幕方向时,我的应用程序就会崩溃。我该如何解决这个问题?
在我的应用程序中,网络访问是在一个线程中运行的。每当我改变屏幕方向时,我的应用程序就会崩溃。我该如何解决这个问题?
感谢您的回答。 我通过实现Activity生命周期方法OnStop来解决了问题。 在该方法中,我只添加了以下代码:
@Override
public void onStop()
{
super.onStop();
if(thread!=null)
thread.stop();
if(dialog!=null)
dialog.dismiss();
}
嗨,我认为你应该先了解Activity生命周期。
因为每当方向发生变化时,OnCreate()方法都会被调用,
这会导致你的应用程序崩溃。
最好的问候, ~Anup
您可以让应用程序监听会导致重启的事件,例如方向和键盘可见性更改,并在Activity内处理它们。
首先,在Activity的清单节点中添加android:configChanges
节点。
android:configChanges="keyboardHidden|orientation"
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}