Java 当我们在线程工作时更改方向时,应用程序崩溃

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

我有个奇怪的问题。当我开始快速更改设备的方向时,我的应用程序崩溃或更改上一个设备上的当前活动。如果我删除mTimerHandler.postDelayed(mStateThread,开始线程之前的时间);从创建此线程开始,一切正常

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();