Java 当我们在线程工作时更改方向时,应用程序崩溃
我有个奇怪的问题。当我开始快速更改设备的方向时,我的应用程序崩溃或更改上一个设备上的当前活动。如果我删除mTimerHandler.postDelayed(mStateThread,开始线程之前的时间);从创建此线程开始,一切正常Java 当我们在线程工作时更改方向时,应用程序崩溃,java,android,multithreading,android-asynctask,runnable,Java,Android,Multithreading,Android Asynctask,Runnable,我有个奇怪的问题。当我开始快速更改设备的方向时,我的应用程序崩溃或更改上一个设备上的当前活动。如果我删除mTimerHandler.postDelayed(mStateThread,开始线程之前的时间);从创建此线程开始,一切正常 private Handler mTimerHandler = new Handler(); private Runnable mStateThread = new Runnable() { @Override
private Handler mTimerHandler = new Handler();
private Runnable mStateThread = new Runnable() {
@Override
public void run() {
new AsyncTask<Void, Void, String>(){
@Override
protected String doInBackground(Void... params) {
return ... do some with HTTP;
}
@Override
protected void onPostExecute(String result){
super.onPostExecute(result);
mTimerHandler.postDelayed(mStateThread, TIME_BEFORE_START_THREAD);
}
}.execute();
}
};
这是另一个可以并行工作的线程
private void anotherHTTPThread(){
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
....do some at HTTP same address
return null;
}
@Override
protected void onPostExecute(Void _result) {
super.onPostExecute(_result);
}
}.execute();
private void另一个httpthread(){
新建异步任务(){
@凌驾
受保护的Void doInBackground(Void…参数){
..在同一地址执行一些操作
返回null;
}
@凌驾
受保护的void onPostExecute(void\u结果){
super.onPostExecute(_结果);
}
}.execute();
}有人知道我应该同步它吗?发布堆栈跟踪。
private void anotherHTTPThread(){
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
....do some at HTTP same address
return null;
}
@Override
protected void onPostExecute(Void _result) {
super.onPostExecute(_result);
}
}.execute();